[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/12 18:38 / Filesize : 296 KB / Number-of Response : 987
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

VB.NET質問スレ (Part6)



1 名前:デフォルトの名無しさん [04/07/03 08:49]
VB.NETの質問全般です

過去スレ
VB.NET質問スレ (Part5)
pc5.2ch.net/test/read.cgi/tech/1078134703/
VB.NET質問スレ (Part4)
pc2.2ch.net/test/read.cgi/tech/1065269043/
【老若】VB.net質問スレ【男女】 (Part3)
pc2.2ch.net/test/read.cgi/tech/1056281084/
【老若】VB.net質問スレ【男女】 (Part2)
pc2.2ch.net/tech/kako/1043/10436/1043629429.html
【老若】VB.net質問スレ【男女】
pc2.2ch.net/tech/kako/1025/10258/1025848458.html


21 名前:デフォルトの名無しさん mailto:sage [04/07/05 12:17]
>>12
> list(1)=data
これですか!目から鱗が…
助かりました。どうもありがとうございます。

>>14
先に構造体ありきで進めちゃっているもので、今からクラスには
できないのです。


22 名前:デフォルトの名無しさん [04/07/05 15:33]
ある画像の上(?)に線を引き、その線の一部分をペイントの消しゴムのように
消したいのですが、いい方法ないでしょうか?

線を引くまでのロジックはこんな感じです。
Private grpTest As Graphics
Private bmpTest As Bitmap
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim fs As IO.FileStream
Dim bmpImage As Bitmap
Dim blackPen As Pen
blackPen = New Pen(Color.Black, 1.0)

fs = New IO.FileStream("C:\TEST.JPG", IO.FileMode.Open, IO.FileAccess.Read)
bmpImage = New Bitmap(fs)
fs.Close()
'空のbitmap領域の作成
bmpTest = New Bitmap(bmpImage.Width, bmpImage.Height)
grpTest = Graphics.FromImage(bmpTest)
grpTest.DrawImage(bmpTest, 0, 0, bmpImage.Width, bmpImage.Height)
PictureBox1.Image = bmpImage
    '線引き
grpTest.DrawLine(blackPen, 0, 0, bmpImage.Width, bmpImage.Height)
PictureBox1.Invalidate()
End Sub


23 名前:22 [04/07/05 15:33]
続きです

Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
If IsNothing(bmpTest) = True Then
Exit Sub
End If
e.Graphics.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
e.Graphics.DrawImage(bmpTest, 0, 0, sender.width, sender.height)
End Sub


24 名前:デフォルトの名無しさん mailto:sage [04/07/06 00:45]
>>21
まあ、変えられないんなら仕方ないわけだけど、はっきり言って
ちゃんと理解して使ってないと、落とし穴が多いので注意が要るよ。

25 名前:デフォルトの名無しさん mailto:sage [04/07/06 00:52]
未熟者から、ちょっとつまらない質問です。
DBからSELECTで持ってきたデータをDataGridに表示させるとき、コネクションや
データアダプタやデータセットを、サーバーエクスプローラからマウスでドラッグして
貼りつけたうえDataGridのソースをプロパティで設定するやり方と、それらをすべて
コードで表記するやり方がありますよね。

何というか、やり方としてどっちが「まとも」なんでしょうか。

体感的には貼りつけるやり方のほうが処理が早いような気がするんですけど、
ただ「上のほうに」(こんな表現しかできないレベルの素人です)、OleDb関係の異常な長さの
コードが自動生成されていて、何だか薄気味悪いです(貼り付けなしで、すべてをコードで
記述しても、これの10分の1ぐらいで済みそう)

26 名前:デフォルトの名無しさん mailto:sage [04/07/06 06:38]
>>25
どっちが「まとも」かはわからんが、個人的にはコードを書く方がお好み
以前はADO.netに慣れていなかったので貼り付けでやってたけど、
今はDBアクセス処理のクラスを作成してそれで処理するようになった。

適材適所で使い分けるのが吉じゃねえの

27 名前:デフォルトの名無しさん mailto:sage [04/07/06 13:27]
.NET Framework を自分が作成したプログラムと一緒に強制インストール
する事なんて、可能でしょうか?

インストーラ付きで配布されてるから、無理なのかな、、、

もし出来るならその辺解説してるHPとかあれば教えてください。

28 名前:デフォルトの名無しさん mailto:sage [04/07/06 13:30]
>>27
ダウンロードの詳細 : Visual Studio .NET 2003 Bootstrapper
www.microsoft.com/downloads/details.aspx?FamilyID=627921a0-d9e7-43d6-a293-72f9c370bd19&displaylang=ja

29 名前:デフォルトの名無しさん mailto:sage [04/07/06 15:00]
>28
ありがとうございました。うまくいきました。
やっぱりちゃんと用意されてるんですね、、、



30 名前:デフォルトの名無しさん mailto:sage [04/07/06 15:51]
ものっすごい初心者で恐縮なのですが、教えてください。

VB.NETの画面でVC.NETで作成した関数を利用したいのです。
VCの関数はDLL化してあり、Declare宣言もしております。

それを呼び出したところ以下のようなエラーが出てしまいます。
「DLL XXXCOM.dll の CMMsgBox というエントリ ポイントが見つかりません。」
・XXXCOM.dll = DLL名
・CMMsgBox = 呼び出したい関数名

マシン容量の都合上、MSDNをインストールできなかった為、
ヘルプが使えません。
どうぞよろしくお願いします。


31 名前:デフォルトの名無しさん mailto:sage [04/07/06 18:13]
MSDNはオンラインでも読めるよ

32 名前:30 mailto:sage [04/07/06 19:14]
>>31
すいません。
それは知っています。
最初はそれで調べていたのですが、
現在、長い時間繋ぐには不都合な環境でして。
隙を見て書き込んだ次第です。


33 名前:デフォルトの名無しさん mailto:sage [04/07/06 19:35]
元の関数定義とDeclareの内容くらい書かないと無理では?


34 名前:デフォルトの名無しさん mailto:sage [04/07/06 22:40]
ActiveXのDLLだったら(ほぼ)そのままVB.NETで使えるんだが

35 名前:デフォルトの名無しさん mailto:sage [04/07/07 00:08]
>>26
質問というより迷いを除くための相談みたいで、すみませんでした。
貼り付け型のほうが処理が速いといっても、明らかに違いが分かるほどのものでもないし
いろいろ比較すると、コード表記のほうが無駄が少ないんじゃないかな、と、ひとまずの結論。
何より貼りつけ型は、元データのカラムがテッキトーに並べ替えられちゃって、直すのがめんど。
(もしかしたらどこかに何か設定の仕方があるのかもしれないけど、もうどうでもいいや。
わけの分からないコード自動生成されて、あちこちに制御分散させるより、自分の書いたもの
だけで全責任負っちゃったほうが楽だ、という気がしてきました)

36 名前:デフォルトの名無しさん mailto:sage [04/07/07 00:18]
>貼り付け型のほうが処理が速い
そうなのか?

37 名前:デフォルトの名無しさん mailto:sage [04/07/07 01:00]
>>36
確かなところは分かりません。
2万件程度のテーブルからLike条件抽出を何度かやってみただけですんで。
貼りつけた方はザザッと出てきたけど、コード書きのほうは何となくパラパラっと。
本当に何となくで、測定したわけではありません。

と、ついでに勢いにまかせて、というか図に乗って、もういっこ質問。
dbへの接続やレコードセットオープンの書き方は、ネット上のいくつかのサイとを
参考にしながらやってみたんですけど、dbもレコードセットも、オープンして処理が
終わったあと、=nothing は、書かなくていいんでしょうか(どのサイトも言及なし)
Accessの時にやってた形、set 〜 = nothing って書くと、set が消されちゃうん
ですね。で、仕方なく、単に 〜 = nothing にすると、別にバグ扱いもされず、
実際の処理も問題なく終わるんですが。
書いた方がいいのか、書かなくてもいいのか、書かない方がいいのか、そのへんが
さっぱり分かりません。
書かないとメモリとったまま手放さないとか、そういう話ありませんでしたっけ。


38 名前:デフォルトの名無しさん mailto:sage [04/07/07 01:33]
おい、ちゃんとClose(かDispose)はしてるか?
何となく意識はしてないけど知らないうちに消されてるような
書き方になってる気はするが…

39 名前:デフォルトの名無しさん mailto:sage [04/07/07 01:53]
ええ、close は毎度ちゃんとやってます。

nothing に関しては、もともとが雑におぼえてしまったせいか、Access
使ってたときも書かずに済ませてしまったことがあったりしまして。
いつだったかweb上のどこかのサイトで、closeするだけじゃなくちゃんと
nothing書いておかないとメモリ無駄食いするぞ、みたいな文章読んだので、
ちょっと心配になって最近ようやく気をつけるようになったんです。



40 名前:デフォルトの名無しさん mailto:sage [04/07/07 02:10]
通常は関数内で宣言したものだったら、関数抜けた瞬間に開放されることになってるが
開放のタイミングはいつ起こるかわからない仕様だったと思います
仮にDisposeしても、どこかの外部変数が参照している間は残ったりするってのを読んだ記憶があります

.NETからSETというのは無くなってますね
扱える変数全部が旧VBでいうオブジェクト形なのでそういうことなんだと思います

貼り付けたほうってSELECT文を動的に発行するものでしょうか?
それとも事前にウィザードで発行された自動SQLでしょうか?

後者であればDB上にSQLが事前コンパイル(事前読み込み)されて
最適な結果が用意されてるかもしれません

DB環境がわからないのでかなり適当な事いってます(w



41 名前:39 mailto:sage [04/07/07 02:55]
>>扱える変数全部が旧VBでいうオブジェクト形
む、ムズい・・・です

いま知ったんですけど。
〜 = nothing の、"nothing"のところにマウスの矢印あてると "oject" って
浮き出てきますね。
つまり、宣言されたものはここで何もなかったことにするぞ、つまり解放の証
と考えていいのかな。だったら書いといたほうがいいですね。

貼り付け型コード表記型ともに、SQL文は、フォーム上のテキストボックスをLike抽出条件に
べた書き、つまり条件は同じです

以下、想像ですけど
貼り付け型のほうは、接続先なんかはもう決定しているわけですから
OleDbConnection1.Open() この一行で接続は確立できますよね。
データアダプタやデータセットについても貼りつけた時点で決定済み、あらためて宣言する必要はない。

いっぽうオールコード表記型のほうは
Dim MyDB As New OleDbConnection
Dim MyCmd As New OleDbCommand
Dim MyDataSet As DataSet = New DataSet
Dim MyDataAdp As New OleDbDataAdapter
MyDB.ConnectionString = "Provider=・・・"
MyCmd.Connection = MyDB
これだけのことを決めてやって、ようやく
MyDB.Open()
が出来る。

これが速度の差になってるのかな、なんてことを、あまり出来の良くないオツムで考えたり
してみました


42 名前:デフォルトの名無しさん mailto:sage [04/07/07 03:21]

GCとFinalizeとDispose辺りをキーワードにして
ドキュメントをよく読んでみることをおすすめする。

43 名前:30 mailto:sage [04/07/07 09:57]
お騒がせしました。
上司が解決してしまいました。
ありがとうございました。

44 名前:デフォルトの名無しさん mailto:sage [04/07/07 10:00]
>>43
どう解決したのかも書けよ。

45 名前:デフォルトの名無しさん [04/07/07 13:21]
初歩的なことで恐縮ですが、お尋ねします。
テキストボックスの内容を変数で指定したいのですが、
このように書くと100行以上書かなければなりません。

右側のTextBox1,2,3...の数字の部分を変数を使って指定するには
どうすればよいのでしょうか?


Dim tesText(100) As System.Windows.Forms.TextBox
tesText(1) = TextBox1
tesText(2) = TextBox2
tesText(3) = TextBox3
...
tesText(100) = TextBox100

46 名前:45 mailto:sage [04/07/07 15:07]
自己レスです

>>2 の DOBON.NETのページを見たら、
「フォームに配置されているコントロールを名前で探す」
ってのがあったので、これが使えるかもしれません。
調べてみます。

お騒がせしました。

47 名前:22 [04/07/07 15:45]
誰か
>>22わかる人いませんか?

>>45
こんな感じでどうだろう?
フォームに直接テキストボックスを貼り付けているのであれば
↓こういう関数をつくり、コントロールにあるID(?)を取得
Private Function fintTxtForm_TextPos(ByVal strName As String) As Integer
Dim intCnt As Integer
For intCnt = 0 To Me.Controls.Count - 1
If Me.Controls(intCnt).Name = strName Then
Return intCnt
End If
Next intCnt
End Function

んで、こう使えば少なくてすむ。
Dim intCnt As Integer
Dim intPos As Integer
Dim tesText(100) As TextBox
For intCnt = 1 To 100
      ’"TextBox" & intCnt という名前で検索
intPos = fintTxtForm_TextPos("TextBox" & intCnt)
      ’指定
tesText(intCnt) = Me.Controls(intPos)
Next
パネルならMeをPanel1に変えれば良い。如何?

48 名前:22 mailto:sage [04/07/07 15:45]
あちゃ。
コード書いている間に解決しちゃったか

49 名前:デフォルトの名無しさん [04/07/07 15:58]
盛り上がってまいりました



50 名前:デフォルトの名無しさん mailto:sage [04/07/07 23:39]
webアプリケーションの作成ではMessageboxは使えないのでしょうか?
宣言されてない!と出てしまいます…

51 名前:デフォルトの名無しさん mailto:sage [04/07/07 23:54]
VBScriptかJavaScriptで代用しては?

52 名前:デフォルトの名無しさん mailto:sage [04/07/08 00:45]
どう考えたら使えると思えるんだ?

53 名前:デフォルトの名無しさん mailto:sage [04/07/08 03:36]
いまさらな質問ですいません
ビルド番号をビルドするたびに自動変更させるにはどうしたら良いですか

54 名前:デフォルトの名無しさん mailto:sage [04/07/08 12:43]
>>AssemblyInfo

55 名前:デフォルトの名無しさん mailto:sage [04/07/08 13:32]
>>54
Thx

56 名前:デフォルトの名無しさん [04/07/08 16:43]
VC#と比べて、VB.NETの優れた点はどういう所ですかね?

57 名前:デフォルトの名無しさん mailto:sage [04/07/08 16:47]
基本的に言語の違いしかない。

58 名前:デフォルトの名無しさん [04/07/08 16:53]
では、人にもよると思いますけど、プログラム組むのに言語使用的にどちらの方が使いやすいとかはありますかね?

59 名前:デフォルトの名無しさん [04/07/08 17:43]
Windows Serverで立ち上げていたftpサイトに
\ . %d .aux0 4.21 \ . %d .nul 3.94 \. %d .lpt1 1.99 \ ;[[Scan By ...
みたいなフォルダを何千個も作られちゃいました。
ちゃんと書き込み制限をかけましょう、という話は当然として、既に作られてしまったこのフォルダ群を削除したいと考えています。
ただ、エクスプローラ上からでは不正なLongFileNameの[ . %d .nul 3.94 ]という名前のフォルダにアクセスできず、リネームも削除もできません。
一応、コマンドプロンプトのdir /xでShortFileNameを調べてそのフォルダごとに削除することは可能ですが、数が数なので、手作業で消して回るのは無理があります。
そこで、VB.netでフォルダを削除するツールを作りたいと考えています。
FSOを使って、
FS = FSO.GetFolder(sScanPath)
For Each F In FS.SubFolders
Console.Write(F.Path)
Next
って、やりたいのですが、不正な名前のフォルダはリストアップされてくれず、目的を達しません。
また、VBのDirコマンドでコマンドプロンプトの"/x"オプションの付け方がわかりません。
そこで、
1.FSOで不正なLongFileNameを持つフォルダオブジェクトのShortFileNameを列挙するやり方
2.VB.netのDirコマンドでShortFileNameをとるやり方
3.1.2以外で上記の目的を達するやり方
のいずれかをどなたかご指摘頂けないでしょうか?




60 名前:デフォルトの名無しさん mailto:sage [04/07/08 17:54]
消しちゃいけないファイルを別フォルダに移して
FTPのフォルダごと削除してしまえば?

61 名前:59 [04/07/08 17:59]
エクスプローラ上から指示を出すと削除しようとしている最中に、
[xxx フォルダを削除できません。指定されたファイルが見つかりません。]
[パスとファイル名を確認してください。]
と表示されて操作が失敗します(;。;)


62 名前:デフォルトの名無しさん mailto:sage [04/07/08 18:16]
>56
VS.NETを使っている場合、コンパイルしなくてもその場でにコーディングミスが表示される。
他はともかく、この点は優れていると思う。

63 名前:デフォルトの名無しさん mailto:sage [04/07/08 18:21]
エクスプローラで必要なファイルを移動させて
RMDIR /Sでディレクトリごとアボーン

64 名前:デフォルトの名無しさん mailto:sage [04/07/08 19:38]
>>62
デフォルトでOption Strict Onなら褒めてあげたいところだけどね。


65 名前:デフォルトの名無しさん mailto:sage [04/07/08 21:07]
既出だったらスマソです
配布パッケージ(ディストリビューション?)を作成する方法がよくわからないんですが
情報へのリンクでも結構ですのでどなたかお助けください


66 名前:59 [04/07/08 21:36]
>>63
ありがとうございました。あっさり消えてくれました^^;
手間もかからずお手軽でまさに完璧です、助かりました
(よく考えると>>60も同じ事を言ってる気がします。ありがとうございました)


67 名前:デフォルトの名無しさん mailto:sage [04/07/09 02:09]
>>56
画面周りは、VB.netのほうが作りやすいと個人的には思う。

68 名前:60=63 mailto:sage [04/07/09 02:32]
>>66お疲れサマでした<m(__)m>

69 名前:デフォルトの名無しさん [04/07/09 11:33]
VB.net 2003でカスタムコントロール作成にチャレンジ中です。
タブコントロールをメインとしたコンテナコントロールを作成しようと思っていますが…

タブコントロールを基に作成したユーザーコントロールを任意のフォームに配置し
そのコントロール(コンテナ)上にテキストボックスなどを配置しようと考えたのですが
VB6時代とは勝手が違いなかなかうまくいきません。
(イメージとしては独自のタブコントロール、もしくはオプショングループのようなコンテナコントロールに
テキストボックスなどをドラッグして配置したい)

IContainerインタフェースについての理解が浅いためうまく説明できないのですが
VB.netで独自のコンテナコントロールを作成する場合、後々そのコンテナ上に配置するコントロールの
追加動作はコード上でaddしていかないといけないものなのでしょうか?




70 名前:デフォルトの名無しさん mailto:sage [04/07/09 12:02]
>>65
すごく簡単に書くと、
1.新規作成で「セットアップ/デプロイメントプロジェクト」を選んで
  ソリューションに追加する。
2.構成マネージャで、全てのプロジェクトをRelease、ビルドにチェックを入れる。
3.ソリューションのビルド
細かい設定はいっぱい端折ってるけど、これで逝けるんじゃないかな。



71 名前:デフォルトの名無しさん [04/07/09 17:37]
d:testに、mdbファイルを作りたいのですが、

ファイル'd:\test'を開く事が出来ませんでした。
ほかのユーザーが排他的に開いているか、データを読み取る権限がありません

というエラーが出てしまいます。
File.SetAttributes("d:\test",FileAttributes.Normal)
とか、
Dim di As New System.IO.DirectoryInfo("D:\test")
di.Attributes = FileAttributes.Normal

とかやってみたのですが、同じエラーが出てしまいました。
これは読み取り専用属性が邪魔をしてるわけではないという事でしょうか?
でもこのPC使ってるのは自分だけなので、他の人が開いてるなんて無いだろうし・・・
解決方法ご存知の方ご教授いただけませんか?



72 名前:デフォルトの名無しさん mailto:sage [04/07/09 21:22]
>>70
なるほどこうなってんですねえ
とりあえずセットアップがビルドされるとこまで確認できました
でもセットアップを実行してみたら正常に終了するものの
どこにもインストーされた形跡が無い?どこへ消えたんだ?
私がなにか間違えてますねたぶん(笑)

とっかかかりがわかったのであとは何とかなると思います
ありがと〜



73 名前:デフォルトの名無しさん [04/07/10 03:14]
もう、聞き飽きた質問かもしれないのですが、分からないので教えてください。

現在、カシオペア(WinCE 3.0)用のアプリを作成中なのですが、
シリアルポートを使っての通信の方法が分かりません。

色々見てはいるのですが、「通常のモデムと一緒」と言われているだけで
実際にどんな方法で接続したら良いのか教えて下さい。

よろしくお願いします。


74 名前:デフォルトの名無しさん [04/07/10 08:47]

サービスから、ログインしているユーザー名を知りたいのですが
教えて頂けないでしょうか。

System.Environment.UserName

ですと'system'が返されるので解かりません。

よろしくお願いします。

75 名前:デフォルトの名無しさん mailto:sage [04/07/10 09:25]
サービスって何だ?
ログインてどういう方法をとってるんだ?
認証方法は何を使ってるんだ?

まっとうな方法をとってるんならHttpContext.Current.Userとかだろうが…

76 名前:デフォルトの名無しさん mailto:sage [04/07/10 09:38]
>>74
ログインしてるユーザーって、一人とは限らないよね?

77 名前:74 [04/07/10 11:26]
すみません。言葉が足りなくって

サービスとはWindowsのローカルサービスの事で
WindowsXpですと コントロールパネル - 管理ツール - サービス
に登録するものです。

ユーザーはサービスを実行しているマシンに直接ログインしている
ローカルユーザを知りたいのです。したがって一人です。

お願いいたします。

78 名前:デフォルトの名無しさん mailto:sage [04/07/10 21:16]
>したがって一人です。
おい複数がログインしてるときはどうなるんだ?

79 名前:デフォルトの名無しさん [04/07/11 00:05]
>>78
ネットワーク経由ではなく直接マシンを使用しているユーザーです。




80 名前:デフォルトの名無しさん mailto:sage [04/07/11 00:30]
WinXPだとローカルでも複数ログインできなかったっけ?

81 名前:デフォルトの名無しさん mailto:sage [04/07/11 02:32]
Web関係の命令でPOSTした情報を取得したいのですが
リファラーの設定ができず別ページの情報が飛んできてしまいます
リファラーを付加してPOSTする方法ってありますか?

82 名前:デフォルトの名無しさん mailto:sage [04/07/11 04:18]
プログラム起動時、変数を宣言しているとVBは必ず0が入るじゃないですか。
それをChar型の値の中のランダムな数値を入れたいのですが、どうすればいいでしょうか?

83 名前:名無しさん@そうだ選挙に行こう [04/07/11 13:44]
>>80
同時にはできないだろ

84 名前:名無しさん@そうだ選挙に行こう mailto:sage [04/07/11 13:47]
ログインしっぱなしみたいな状況だけどWindowsとしてどういう処理をしてるかはわからないね
ただ裏でプロセスが動きっぱなしみたいな感じなのかな?

85 名前:名無しさん@そうだ選挙に行こう mailto:sage [04/07/11 19:38]
そりゃまあ、アクティブ?になってるユーザは一人としてもさ

86 名前:デフォルトの名無しさん mailto:sage [04/07/11 23:10]
アプリケーションのアイコンはどこで変更するのでしょうか?
タイトルバーのアイコンは変更できるのですが、exeファイルのアイコンを変えられません。

87 名前:デフォルトの名無しさん mailto:sage [04/07/12 02:03]
プロジェクトのプロパティにある"ビルド"に設定がある。


88 名前:デフォルトの名無しさん mailto:age [04/07/12 20:07]
xlApp = CType(CreateObject("Excel.Application"), Excel.Application)
xlBook = CType(xlApp.Workbooks.Add, Excel.Workbook)
xlSheet = CType(xlBook.ActiveSheet, Excel.Worksheet)

これだと新しくエクセルが起動してしまいます。
今開いているエクセルシートに書き込むにはどのようにしたらいいのでしょう?
VB6では
Set xlApp = Excel.Application
Set xlBook = xlApp.ThisWorkbook
Set xlSheet = xlBook.ActiveSheet

で行けたのですが。

89 名前:デフォルトの名無しさん [04/07/12 21:52]
すごく初歩的なことなのですが、質問させてください。
ListBox または Combobox でmdbのデータを表示させたいのですが、
今現在やった作業は、
サーバーエクスプローラーのデータの接続で、mdbに接続。
表示させたいテーブルをFormにD&Dして、OleDbConnection1とOleDbDataAdapter1
を作成。
「データ(A)」メニューの「データセットの生成」で、テーブルのデータセットを生成。
ListBoxまたはComboboxのプロパティ「DataSource」「DisplayMember」「SelectedItem」を選択項目から選択。
開始。
とやっても、リストとコンボには、何も表示されません。
DataGridの場合も同様で、プロパティだけ設定しただけでは、
何も表示されなかったのですが、FormのLoadイベント内に
 Dim dst As New DataSet
Me.OleDbDataAdapter1.Fill(dst)
Me.DataGrid1.DataSource = dst
としてやったところ、データが表示されました。
ListBoxまたはComboboxも同様の処理が必要なのでしょうか?

すみませんどなたかご教授ください。



90 名前:デフォルトの名無しさん mailto:sage [04/07/12 22:01]
>88
System.Runtime.InteropServices.Marshal.GetActiveObject

>89
最終的にデータを読み込ませるのはコーディングで指示する。
ちなみに、ヘルプのサンプルに書いてあると思うが。

91 名前:デフォルトの名無しさん [04/07/12 22:29]
便乗質問ですが、>>88のCTypeって必要ないような気がするんですが。
ていうか、エクセルのApplicationオブジェクトにThisworkbookなんて
プロパティありましたっけ?

もしあるのなら、.NETからだろうとなんだろうと同じようにそれを
使えばいいだけのような気がしますが。

92 名前:86 mailto:sage [04/07/12 23:10]
>>87
ありがとうございましたー!
本当に助かりました。・゚・(ノД`)・゚・。 アリガトウ


93 名前:デフォルトの名無しさん [04/07/12 23:11]
ファイルを保存するのはどうすればいいのですか?

94 名前:デフォルトの名無しさん [04/07/12 23:26]
VC++.NETで作成したDLL(MFC)をVB.NETで使おうとしてるのですが
デバッグモードでDLLのソースにステップインできません。
ブレークポイントをしかけて実行しても止まらずにDLLの処理が実行されます。
DLLの処理は正常に動作していて問題ありません。
特に設定は弄っていません。
何か足りないことがあるのでしょうか?

95 名前:デフォルトの名無しさん [04/07/12 23:30]
>>93
ファイル(F)→〜の保存

96 名前:デフォルトの名無しさん mailto:sage [04/07/12 23:33]
アセンブラ混合モードかな?
(VCだとそうなんだが)

97 名前:デフォルトの名無しさん mailto:sage [04/07/12 23:40]
.NETではなくて、6.0なんですけど、
エディタの、キーワードの色をそれぞれに指定して、
変更することってできませんか?

endif や public などを色分けしたいんです。

98 名前:デフォルトの名無しさん [04/07/13 00:00]
>>97
できんでしょ。すくなくともVSのIDEのエディタでは。
正直、そういうクダラナイことに関心がいくのは心理的な逃避だとしか
思えない。

そんなことが生産性に寄与するように見えるとしたら、
それはヘッポコだからだと思う。

99 名前:97 mailto:sage [04/07/13 00:11]
今までCとC++しかやったことなかったんで、
エディタやIDEがたくさんあって恵まれていたのかもしれません。

VBは確かにVC++やその他IDEに比べると
すこぶる操作性が悪く生産性と技能スキルが鈍りますが、
修行だと思ってVBをマスターしようかと思います。



100 名前:デフォルトの名無しさん mailto:sage [04/07/13 00:11]
>>98おお、すげ〜発想の飛躍だな。

101 名前:デフォルトの名無しさん [04/07/13 00:53]
>>97
C++やってるんだったら6.0じゃなく.NETやったほうがいいと思う
6.0ってサポート切れてるし

6.0と.NETは似て非なるもの

102 名前:デフォルトの名無しさん mailto:sage [04/07/13 01:01]
>>91
xlAppとかの型しだいでは>キャストの必要性

>>94
DLLがデバッグ用にビルドされてないとか。
で、問題なく動いてるんならDLLの中をデバッグできる必要はないと思うが…
困ってるわけじゃなく、どうして?ってこと?

103 名前:94 [04/07/13 06:04]
>>102
VC++.NETの実行ファイルからこのDLLを動かすと
ちゃんとデバッグできるのでデバッグ用にビルドされていない訳では
ないと思います。
今は困ってないのですが、これから開発を進めていく上で
デバックでDLLの中を追えないのは困りますよね。
VB.NETのEXEからVC.NETのDLLを呼ぶなんて特に
変わったことをやってる訳でもないのですぐに解決できると
思っていたのですが・・・かなりハマってます。

104 名前:102 mailto:sage [04/07/13 09:32]
いくつか気づいた点を書いてみる。
*VBのプロジェクトのプロパティ-構成プロパティ-デバッグにある
  有効にするデバッグ アンマネージコードデバッグ
にチェックが入っているか。
(DLLがマネージなコードだったら関係ないはず)
*デバッグ対象のソースが認識されてないのならソリューションのプロパティで
デバッグソースファイルにDLLのソースのパスを追加してみる。
*同じく、デバッグシンボルファイルについても。
*デバッグ時、出力に出てくるメッセージで該当DLLのシンボルが読み込まれているか?


105 名前:94 [04/07/14 22:37]
>>104
回答ありがとうございます。

DLLはマネージなコードです。
デバッグデータソースファイル、デバッグシンボルファイル
のパスに追加しても駄目でした。
デバッグ時の出力には該当のDLLについて何も出力されませんでした。
(何も出ないってことはデバッグ情報が取れてない?)

実行環境は実行ファイルを作成してるVB.NETのプロジェクトの
デバッグフォルダにVC++.NETで作成したデバッグモードのDLL(MFC)
を放り込んで動かしてます。

DLLのプロジェクトから実行ファイルを指定して動かしても駄目でした。

今回、旧システム(VC5.0)をVB.NETで作り変えることをしています。
旧システムの財産を再利用するためにDLLをVC++.NETで再コンパイルして
利用しようとしています。
なんせ素人集団なので壁にぶつかりまくってます^^;


106 名前:デフォルトの名無しさん mailto:sage [04/07/14 23:18]
>VC++.NETで作成したデバッグモードのDLL(MFC)
これマネージなコードってほんとなのか?

107 名前:デフォルトの名無しさん mailto:sage [04/07/15 02:48]
>>今回、旧システム(VC5.0)をVB.NETで作り変えることをしています。
>>旧システムの財産を再利用するためにDLLをVC++.NETで再コンパイルして

こういうのはアンマネージドじゃないの?

108 名前:デフォルトの名無しさん mailto:sage [04/07/15 19:29]
OpenFileDialogを使ってCSVのみを開こうとさせたのですが
ダイアログ自体は開きましたがCSVファイルを開くために
ダブルクリックしても何も開かず、ダイアログも閉じてしまいます。
そこでデバックポイントを張って原因を調べようとしたところ
デバックの部分で死んでしまいました。

OpenFileDialog.Filter = "csvファイル(*.csv)|;*.csv|全てのファイル(*.*)|*.*"
OpenFileDialog.FileName = ""
OpenFileDialog.InitialDirectory = WorkDir.Text
OpenFileDialog.Title = "ファイルを開く"
OpenFileDialog.RestoreDirectory = True
OpenFileDialog.ShowDialog()

これでは不味いのでしょうか?

109 名前:108 mailto:sage [04/07/15 19:30]
デバックポイントを張った場所は
OpenFileDialog.ShowDialog()
の直後です。




110 名前:デフォルトの名無しさん mailto:sage [04/07/15 19:56]
デバッグの部分で死んだってのは良く分からないんだが…

ひょっとして勝手に、選んだCSVファイルを開いて
よきに処理してくれるとでも思ってるのか?

111 名前:108 mailto:sage [04/07/15 20:02]
>>110
もしかしてエクセルを開く為の処理を行わないといけないのでしょうか?

112 名前:デフォルトの名無しさん mailto:sage [04/07/15 20:59]
勝手に関連付けとかで開かれたりしたらびっくりするだろ。

113 名前:108 mailto:sage [04/07/15 21:18]
>>112
右クリックから「開く」やエディタなどを指定して
開くと開けたので、ダブルクリックやダイアログの開くボタンを
クリックでも開くと思ったのですが・・・。

ShowDialog()の後にCreateObjectを使って
エクセルを呼び出せばいいということですね?

114 名前:デフォルトの名無しさん mailto:sage [04/07/15 21:30]

まあいいいや。

単純にプロセスで開けばいいんじゃね?
その後にExcelの操作したいんだったら別だけど。

115 名前:デフォルトの名無しさん mailto:sage [04/07/15 21:32]
>>113
メニューには開くだけじゃなくて選択とかがないか?

つうか、勝手に開かれたら使いもんにならないだろうに。

116 名前:デフォルトの名無しさん mailto:sage [04/07/15 22:11]
夏だから?Spoke効果?


117 名前:94 [04/07/15 22:54]
>>106 107
ごめんなさい。しったかしてました。
.NETで作ったものは全部マネージドコードだと思っていました。

>*VBのプロジェクトのプロパティ-構成プロパティ-デバッグにある
>  有効にするデバッグ アンマネージコードデバッグ
これでうまくいきました。
お騒がせしてすみません。
ありがとうございました。


118 名前:デフォルトの名無しさん [04/07/15 23:56]
教えてください

ウインドウが2つ(ウインドウA、ウインドウB)あります。
ウインドウAで入力エラーが発生した際にウインドウBを呼び出します。
このときウインドウBが前に来ている状態です。

そしてウインドウBを閉じたときに(右上の×をクリック)、
ウインドウAのエラーが発生した箇所(テキストボックス)に
フォーカスが当たっている状態にしたいのですが、
そんな方法はあるのでしょうか?

119 名前:すぺる間違っていたらゴメソ [04/07/16 00:04]
ウインドウBをShowDialogで開き、戻ってきたときに
フォーカスを移動すればよいのでは。



120 名前:デフォルトの名無しさん [04/07/16 02:52]
ストアドプロシージャにステップインを選んでストアドのデバッグを行いたいのですが
ブレークせずに素通りしてしまいます
クエリアナライザではブレークできているのですがどこが悪いのでしょうか?

121 名前:デフォルトの名無しさん mailto:sage [04/07/16 04:21]
*VBのプロジェクトのプロパティ-構成プロパティ-デバッグにある
  有効にするデバッグ SQL Sever デバッグ
にチェックが入っているか。
とか。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<296KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef