- 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
- 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/
|

|