1 名前:前スレ972 [2005/07/17(日) 20:33:58 ] VB.NETの質問全般です 過去スレ VB.NET質問スレ (Part11) pc8.2ch.net/test/read.cgi/tech/1114217190/ VB.NET質問スレ (Part10) pc8.2ch.net/test/read.cgi/tech/1109343613/ VB.NET質問スレ (Part9) pc5.2ch.net/test/read.cgi/tech/1106577850/ VB.NET質問スレ (Part8) pc5.2ch.net/test/read.cgi/tech/1102512868/ VB.NET質問スレ (Part7) pc5.2ch.net/test/read.cgi/tech/1096683017/ VB.NET質問スレ (Part6) pc5.2ch.net/test/read.cgi/tech/1088812165/ 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) pc5.2ch.net/tech/kako/1056/10562/1056281084.html 【老若】VB.net質問スレ【男女】 (Part2) pc2.2ch.net/tech/kako/1043/10436/1043629429.html 【老若】VB.net質問スレ【男女】 pc2.2ch.net/tech/kako/1025/10258/1025848458.html
962 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 12:27:53 ] ケースバイケースだろうけど俺は>>960 の設計の方をむしろ推すね。 要するに読み込みを非同期にすりゃいいだけでしょ? 客から注文もらってから問屋に注文だすような店なら最初からイラネ。
963 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 12:58:49 ] コンストラクタではまず重い処理はやるべきではない。 次に、どっちにも対応すればいいんだから・・・。 上司コンストラクタ − インスタンス生成だけ >>960 コンストラクタ − 生成して検索関数呼ぶ 検索ぱぶりっく関数 − 検索実行 面子潰さず、自分の意見通しつつ。
964 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 16:32:06 ] textboxコントロールがフォーカスを受け取った時にコントロールの 背景色を変えようと思っているのですが、 フォーカスを受け取ったイベントとして、 Enter を使うべきか、GotFocus を使うべきか、どちらを 使うべきでしょうか?
965 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 16:39:18 ] Enterを使うべきだとあちこちに書かれてると思うんだが。 GotFocus使ったらフォームをアクティブにしたときも発生したりするぞ。
966 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 17:09:41 ] VB.NETのIF文で最初の条件がFALSEの場合2番目以降の比較は行なわないように 記述する方法はありますか? dim x as boolean = false dim y as boolean = true if(x and y = nothing) then の場合、xがFALSEなのでyの値が何であっても条件に該当しないので このように最初の条件がFALSEになった場合、それ以降の条件判断を して欲しくないのですが。IF文を2つにわけるしかないでしょうか? よろしくお願いします。
967 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 17:15:09 ] AndAlso ちょっとはリファレンス見ようぜ
968 名前:960 mailto:sage [2005/11/10(木) 17:48:52 ] >>961 >>962 >>963 レス感謝です。 「コンストラクタには重い処理を書くべきではない」ってのを今日まで知りませんでした。 1万件のレコードを、960に書いた2通りの方法でそれぞれ試してみましたが時間的な差は無かったです。 なにか実感できるようなサンプルってありますか?
969 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 18:02:03 ] 厳密にはデバッグできなくなるって理由でないの?>コンストラクタに書かない
970 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 18:29:26 ] >>968 >「コンストラクタには重い処理を書くべきではない」ってのを今日まで知りませんでした 単に961の俺様ルールだと思うよそれ。 だってそんなルールに何の合理性のないじゃん。 すくなくとも無条件にいつでも合理的とはいえないよ。 というか、重いなら単に非同期で処理すればいいだけの話で どうせ必須の引数なら最初から受け取っておく、必須の処理なら最初からやっておく これが普通の考え方でしょう。 もちろん「特に理由がない限りにおいては」ね。
971 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 18:35:08 ] つ コンストラクタの使用方法のガイドライン
972 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 01:03:50 ] Cで作った xxx.dll 中の typedef struct { int a; int b[50]; } X; int test(X *z) {} な関数を、VBで、 Structure X Dim a As Integer Dim b(50) As Integer End Structure Declare Function test Lib "xxx.dll" (ByRef z As X) As Integer として使おうとしたのですが、VBでは構造体に固定長配列が使えないらしく、 エラーが出てしまいます。 構造体の中では b() だけ宣言して後でReDim b(50) しても、 アドレス的に a に連続しないのか、test を呼び出したときに落ちます。 どうしたらいいでしょうか。
973 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 03:50:01 ] C#.NETでは書けて、VB.NETで書けないものってありますか?
974 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 04:40:09 ] >>972 Imports System.Runtime.InteropServices 'コードの先頭で宣言 <MarshalAs(UnmanagedType.ByValArray, SizeConst:=50)> _ Dim b() As Integer >>973 VB2005で可能になるけど、カスタムイベント、演算子のオーバーロード、XMLドキュメントあたり。
975 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 09:27:36 ] つうか、コンストラクタで非同期処理なんてしてほしくないよな。
976 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 12:58:19 ] >>973 unsafe コード
977 名前:デフォルトの名無しさん [2005/11/11(金) 15:05:20 ] 質問です。 データグリッドで、1つのセルに文字を打ったとき、 打たれた文字を判別することはできますか? データベースと連携させていて、aと打たれたらaから始まるコード(商品コードなど)を そのセルの部分でコンボボックスで表示させたいのですが。
978 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 22:33:10 ] >>973 using
979 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 22:54:59 ] >>977 データグリッドの編集中のセルの正体はTextBoxだから そのTextBoxへの参照を取得すればなんでもできるんじゃない? TextBoxへの参照を取得する方法は・・・忘れたけど別に難しくないというか 裏技的なものは何もなく、なにかのオブジェクトのプロパティで明示的だったと思う。 ていうかデータグリッドの使い方紹介してるサイトなんていっぱいあるでしょ。 こんなところで質問しなくても。
980 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 23:19:59 ] >>968 常に全件を抱え込むオブジェクトならどっちで実装しても差は無いと思う。 けれど、Formで使用するマスタデータを管理するクラスなんかだと常に全件が必要なわけ でもないからメソッドやプロパティが呼び出された時に初めて実際にDBへアクセスするとい うProxyパターンを適用するのも一つのやり方。 Formを開くたびにマスタ読み込みで数秒待たされるというのはUIの設計としてもマズイ。
981 名前:最凶VB厨房 mailto:sage [2005/11/12(土) 09:38:46 ] 次のスレッドはこちら VB.NET質問スレ (Part13) pc8.2ch.net/test/read.cgi/tech/1131755402/