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
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 デバッグ にチェックが入っているか。 とか。
122 名前:120 mailto:sage [04/07/16 04:34] >>121 チェックボックスはONにしてあります ヘルプに記述してあるDLL等はすべて所定の位置にインストールしてあり インストールCDからデバッグコンポーネントのインストールもしてあります 出力ウインドウには スレッド 'マシン名(53)' (0x800005f0) はコード 0 (0x0) で終了しました。 プログラム 'SQL デバッガ: T-SQL' はコード 0 (0x0) で終了しました。 と出力されるだけで、ストアドの結果は出力されませんでした
123 名前:デフォルトの名無しさん mailto:sage [04/07/16 16:58] VBのブラウザコントロールで、<input type="file">の値を操作したいのですが、スクリプトでは操作できない等の情報ばかりです。 何かいい方法はないでしょうか?よろしくおねがいします。
124 名前:デフォルトの名無しさん mailto:sage [04/07/16 17:25] ブラウザコントロールってIEコンポーネントの? System.WebやSystem.Netは?
125 名前:123 mailto:sage [04/07/16 18:16] >>124 返信ありがとうございます。 VS the spokeを購入したばかりでよくわからないのですが、現在はIEコンポーネントというものを使用しているのだと思います。 System.Web、System.Netについて調べてみます。 図々しくて申し訳ありませんが、どうしてもわからないことがあったら またよろしくお願いします。
126 名前:デフォルトの名無しさん [04/07/16 18:22] CPU温度ってどうやって測るんですか? コードがわかりません 何かコンポーネント必要ですか?
127 名前:デフォルトの名無しさん mailto:sage [04/07/16 18:29] 温度計が必要です。
128 名前:デフォルトの名無しさん mailto:sage [04/07/16 21:34] >>123 >>125 COM相互運用でやることになります。 参照の追加で、MSHTML.DLL (IDL) とかを追加して、 GetDocument で取ってきたものを as IHTMLDocument3 で IHTMLDocument3 にして、 getElementByID とかで input 等を取ってきて(IDが無ければdocumentElement以下をのエレメント階層を トラバースして探すこと)、input 要素の IHTMLElement を as IHTMLInputFileElement で IHTMLInputFileElement にして、 ->put_value() でファイル名を設定できるはず。 その後 submit 要素を探して、->click() で送信。 C++ (MFC) でのサンプルなら、 www.experts-exchange.com/Programming/Programming_Languages/MFC/Q_21043473.html にある。 参照の追加で COM タイプを取り込むこと、as I**** で所望のインタフェイスが得られること、 が理解できれば、C# でも別段難しい点はないと思う。
129 名前:デフォルトの名無しさん [04/07/16 22:15] 教えてください>< ORACLE9i の外部プロシージャ(DLL)をVB.netで作りたいです。 今まで何も考えず、Windowsアプリケーションしか作ったことがなかったので、 DLLなんてさっぱりわかりません。。。 CのDLL(アンマネージド)ではWindowsが読めるヘッダが付いていて、 VBのDLLではフレームワーク用のが付いているんですよね? 今回サーバー機がWin2000でフレームワーク入ってるんで、 PL/SQLからキックするさえが出来れば・・・と思ってるんですが。。。 ORACLEのマニュアルではCとJAVA用のコードしか無く、 しかも、Cだと、ライブラリ名・外部公開名のみに対して、 VBはライブラリ名・クラス名・実行メソッド名を指定しないといけない(と思うので) ですよね。 C++のDLLでラップするというのも考えたんですが、(それも質問中です(;つД`) ) VBだけで出来れば一番いいです。 何もわかってなくて申し訳ないですが、何か分かる人教えてください。
130 名前:128 mailto:sage [04/07/16 23:26] >>128 >が理解できれば、C# でも別段難しい点はないと思う。 VB.NET スレだった・・・死んできまつ(嘘)
131 名前:123 mailto:sage [04/07/17 02:03] >>128 ありがとうございます。 わからない用語調べながら試行錯誤してみたんですがどうもうまくいきません。 笑われてしまうかもしれませんが作成したコードかきます。 ヒントをください。 HTML側 <form> <input type="file" name="files" id="ID"><br> <input type="submit"> </form> Dim Data1 As mshtml.IHTMLDocument3 Dim Data2 As mshtml.IHTMLElement Dim Data3 As mshtml.IHTMLInputFileElement Data1 = AxWebBrowser1.Document Data2 = Data1.getElementById("ID") Data3 = ???? Data3.value = "C:\aaa\aaa"
132 名前:デフォルトの名無しさん [04/07/17 11:58] インターネットのプロパティ、接続タブの画面で、設定ずみの ダイヤルアップ設定を選択、通常の接続でダイヤルするを既定に 設定してあるのですが、ブラウザやメーラーでインターネットへの アクセスを開始すると自動的にダイヤルアップが開始され、繋がり ますが、VB.NETで作ったツールでSystem.Web.Mail.SmtpMail.Send やらSystem.Net.Sockets.TcpClientやらを実行したときには インターネットに繋がっていなければ、同じように自動的に ダイヤルアップが行われるというものでは無いのでしょうか・・・ VB.NET ダイヤルアップでググっても、ズバリこれ!というサンプルも 見つけられず・・・ ADSL常時接続やらルータによる接続が当たり前な昨今、ダイヤルアップ なんてことをすることも少ないのかもしれませんが・・・