- 1 名前:最凶VB厨房 mailto:sage [2006/08/11(金) 19:40:44 ]
- [前スレ]VB.NET質問スレ (Part16)
pc8.2ch.net/test/read.cgi/tech/1149432480/
- 820 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 15:59:45 ]
- >>802
なんで引数のPictureBoxがeなん? CreateGraphicsで作ったGraphicsで描いたら、画面重なったら消えるやん? なんで描画コードを再帰で作るん? 計算だけ再帰にして描画は一発にすべきじゃないの? そもそも再帰の必要あるの? 再帰とループの中でなんで何度もSolidBrush作るん? GraphicsやSolidBushをDisposeしないの?
- 821 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 18:18:07 ]
- >>820
>>793にPG適性が無いから
- 822 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 20:23:21 ]
- ここで適性無しとか言われてキレたりするやついるけど、正直ほんとに
適性としか言えない何かがあるんだよ。適性無いのに業界入りするのは 自殺行為に等しいから、向いてないと感じたら職種替えたほうがいい。 うちに今年入った素人高卒が、いまバリバリにコーディングしてるその そばで、情報系大卒3年選手が単なるテスターになってるのを目の当た りしてほんとそう思うよ。
- 823 名前:デフォルトの名無しさん [2006/10/16(月) 21:39:42 ]
- >>812
コンパイルしてエラーで出なければオkでしょw
- 824 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 21:51:34 ]
- >>823
品質無視ならそれでもいいんじゃね? その発想は、大概UIも一貫性がなかったり、仕様も捻くれてて直感的に使えないんだよな。
- 825 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 22:10:18 ]
- 質問のしかたはともかく、質問者のレベルとか、適正や職種なんてこのスレとは無関係。
質問者にも理解できるような適切な解答をするべきだろ? それができないで何を偉そうに威張ってるんだい?その辺のガキと変わらないぞ。
- 826 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 22:11:52 ]
- するべきって何だよそれ。。。
- 827 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 22:21:17 ]
- 解答のしかたはともかく、解答者のレベルとか、適正や職種なんてこのス
レとは無関係。解答者にも理解できるような適切な質問をするべきだろ?
- 828 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 22:32:01 ]
- >>827
それだと、解答者も質問者とたいして変わらないのだから・・・と言ってるように聞こえる。
- 829 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 22:35:21 ]
- >>828
ま、知ってるか知らないかだけで、質問するやつも解答するやつも同レベルってことだ。
- 830 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 23:35:33 ]
- 適切な回答も理解できないあほもいるんです><
- 831 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 04:43:58 ]
- 適切な質問も理解できないあほもいるんです><
- 832 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 05:19:31 ]
- 適切なスレも理解できないあほもいるんです><
- 833 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 12:15:10 ]
- VB.NET2005 側で構造体を確保して、その確保したエリアを
VC.NETで作成したDLL側で操作したいんですが、一般的な手法 ってどんな感じになるんでしょうか? 例えば、VB.NET2005側で、構造体の配列を確保して、それを DLL側でソートしたり、VB.NET2005側で確保したエリアに DLL側でファイルからデータを読み込んで値をセットしたりと いった事がやりたいんですが。 UNIX環境のCでしかプログラムを作ったことが無いので、 VB.NET2005と、VC.NETで作成したDLLの間のデータの受渡し方法や、 VB.NET2005側がどのような形でエリア(メモリ)を確保しているのかや、 VB.NET2005側の変数の型と、確保されたエリアの関係(サイズや、アドレス)や、 VB.NET2005側の変数の型と、確保されたエリアの内部コード(文字列型の場合)、 VB.NET2005側の構造体と、確保されたエリアの関係(サイズや、アドレス)等が 良く判りません。 かなり、抽象的な質問で申し訳ないのですが、これらに関する情報や、書籍など ありましたら、紹介して頂けないでしょうか。
- 834 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 12:29:28 ]
- >>833
P/Invokeという単語をMSDNで調べるかググる。
- 835 名前:833 mailto:sage [2006/10/17(火) 14:05:50 ]
- >>834
THX。 マーシャリングとか、アンマネージとか、なにやら面妖なキーワードが 沢山出て来て、戸惑っています。 Windows(.NET環境)ってなんか凄いですね。 ともあれ、ようやく欲しい情報にたどり着くことができました。 ありがとうございます。
- 836 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 22:09:33 ]
- というかまず VC.NET という謎の存在を解決する必要があるな
- 837 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 23:02:43 ]
- .NET なんてただの飾りです
エロイ人には
- 838 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 00:33:57 ]
- おい、みんな〜
例外キャッチは、Exception型で全部済ませてるよな?
- 839 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 00:49:16 ]
- キャッチなんてごく一部しか書かない。
- 840 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 00:59:14 ]
- まじで?
とりあえず全部のコードTryCatchで括って、Exceptionで受ける ってみんな書いてないのか・・・
- 841 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 01:06:54 ]
- ごく一部ってのは全プログラムコードで見たらごく一部のコードという意味だよ。
全部のコードってどういう意味? 一番外側的な(あるいはそれに近い)意味ならそういう感じになるのは分かるが。 あとは個別に処理してしまう場合だけな。
- 842 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 01:48:14 ]
- 俺は基本的に関数は全てtry〜catch〜finally〜。
JavaやPHP5では基本だろ。
- 843 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 02:03:20 ]
- あほだね
- 844 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 02:05:24 ]
- 全ての関数で基本的にcatchも書くって、
そのcatch内でいったい何をしてるんよ? finallyでいったい何してるんよ? # まあ finallyの方はまだいいにしても
- 845 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 02:14:46 ]
- 想定できない例外はこれでキャッチすればいいんでないの?
www.atmarkit.co.jp/fdotnet/dotnettips/320appexception/appexception.html
- 846 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 02:21:40 ]
- うんそうだね
- 847 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 02:56:40 ]
- >>845
なんだよ、これ。 こんなの思いつかねーよ
- 848 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 03:42:47 ]
- 思いつくんじゃない、見つけるんだ。
- 849 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 04:52:55 ]
- びっくりさせるなよー
ThreadExceptionイベントをハンドルして処理してるのは俺だけかと思ったよ、まじで。 お前らの常識はほんとあてにならないな。
- 850 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 07:57:17 ]
- どんな常識かね?
- 851 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 13:36:39 ]
- >>844
catchで例外の詳細をログに落としてる。 finallyでオブジェクトの開放。 普通じゃん。
- 852 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 13:52:48 ]
- 全メソッドで個別にログ出力かよ
- 853 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 13:55:22 ]
- でエラー状況はどうやって返してるんだ?
まさか再スローじゃないだろ?
- 854 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 14:25:18 ]
- >>852
全メソッドで個別ログを取らないと、詳細なログにならない。 いらなくなったら、ログるレベルを変えるだけ。 >>853 最上位がしっかり処理してるなら、 別に再スローでも良いんじゃない?
- 855 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 15:08:48 ]
- 全メソッドでログ出力&再スローってありえんだろ。
- 856 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 15:11:28 ]
- catchされたもののログだろ?
全然ありえるじゃん。
- 857 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 15:13:17 ]
- メソッド呼び出しの深さ分同じ例外のログ出力するんかい!
あと詳細ログ出せないっていうけど、 各メソッドで出すことでどれだけ詳細度があげられるんだ? 全メソッドでそれはありえんだろ。
- 858 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 16:39:00 ]
- >>857
どのイベントから呼び出したどのメソッドの中にあるメソッドの… と、経路と部位の特定が簡単になるのが、ダメなのか? ユーザーが言うバグにも早く対応ができるし。 つーか、何に対してそこまでの否定を?
- 859 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 16:39:16 ]
- すいません、VB.NET(2003)で質問です。
フォーム上にTextBoxが20個配置されていて、 例えばそれらにTB_1, TB_2, …TB_20 というようなコントロール名がついているとします。 これらのTextBoxをForループなどで一律に処理する方法はあるでしょうか。 具体的なイメージとしては For i = 1 To 20 ["TB_" & CStr(i) をコントロール名に持つTextBox].Text = data(i) Next みたいなことができるといいのですが。 要はコントロール名からオブジェクトを取得できればいいわけなんですけれど。
- 860 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 17:19:22 ]
- >>859
Controlsプロパティでググれ
- 861 名前:デフォルトの名無しさん [2006/10/18(水) 17:25:02 ]
- >>858
StackTraceとか。 そもそもその例外を外に出すのか、内部で処理するのか、どちらが正しいってのはその関数の責務の問題になるし。
- 862 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 17:57:38 ]
- >>861
StackTraceって>>858みたいな使い方できたっけだぜ? あと、例外の処理は関数の責務というより、 プロジェクト全体、退いては会社などのポリシーによって統一されなければいけないもんだぜ。 派遣がたまに来て、ルールぶち壊す奴がいるが、 そういうのが一番アスホールになるんだべ?
- 863 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:12:51 ]
- スタックトレースでほぼ見えるだろ。
全メソッドでそういうことするのはおかしいて言ってる。 .NETでの例外処理において、やってはいけないこと、に挙げられてるよ。
- 864 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:14:35 ]
- >>863
誰が言ってるの? 何をやってはいけないの?
- 865 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:17:33 ]
- 全メソッドでException型でキャッチして再スローするようなこと。
- 866 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:20:44 ]
- >>865
まあ、まずはソースだ。 MSが言ってるレベルだと信頼は無いからな。 大体、本当にやってはいけないことなら、コーディングレベルでエラーが出るだろ。
- 867 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:23:09 ]
- ソース出せ
ああ、ベンダのいうことは信用できないから駄目だよ
- 868 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:24:05 ]
- だったら.NETなんかつかわなけりゃいい
- 869 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:26:53 ]
- 例外のスローや再スローが非常に高コストなのは
常識だと思ってた。 ていうか、全メソッドでやるなら例外なんて仕組みいらんだろ。
- 870 名前:デフォルトの名無しさん [2006/10/18(水) 18:27:56 ]
- EUCコードのデータを取り込んで表示させるにはどうすればよろしいのでしょうか?
そのままだと文字化けしてしまうのでSJISやUTFに変換しないと駄目でしょうか?
- 871 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:30:48 ]
- ゲームでも作ってるんじゃないからコストなんか考えない。
バグが出ない、修正やカスタマイズがし易い、何か起こったとき直ぐに場所と原因が突きとめられる。 VB.NETで重要なのはこの3点だけ。 メモリが足りないのなら、メモリを積め。 遅いのなら、速いマシンを買え。 コストをシビアに考えるなら、VBなんか使わねーよ
- 872 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:30:58 ]
- 独立したスレッド等、処理を断続させる場合だけ、TryCatch
それ以外は、イベントハンドルとして処理。 これでいいだろ。 全メソッドでTryCatchなんてありえん。 初心者と技術のない職場のポリシーだけだ。
- 873 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:32:33 ]
- >>871
それは単なるお前の自論だろ。
- 874 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:34:56 ]
- >>873
IBMで教わった持論なんだがな。
- 875 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:36:02 ]
- >>872
VB6のときは、イベント内のみにしかイベントハンドルを書かなかった口か?
- 876 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:38:51 ]
- >>871
try〜catch〜finally〜内にバグがないとも限らない。 一元管理されるほうが、どう考えても効率いいし、バグが入りにくい。
- 877 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:40:02 ]
- >>875
どう解釈しても意味不明だわな
- 878 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:44:20 ]
- グダグダだな
- 879 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:46:36 ]
- >>876
それはリスクポリシーの取り方だろ。 可読性の良いコードなら、catchやfinallyにバグが入り込む可能性は低い。 try内の問題が直ぐ判別できるから尚良い。 つーか、1メソッド、try〜catch〜finally〜含めても、 コードなんて20行も無いだろ? catch内でも2〜3行なもんだろ?
- 880 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:47:08 ]
- >>870
ここ読んでみたら? ttp://dobon.net/vb/bbs/log3-4/1733.html
- 881 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:59:37 ]
- お前有り得ない例外処理が反乱してるのを見たことないのか?
- 882 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:02:07 ]
- >>881
無いね。 危ない例外は完全に殺してしまうし、 例外処理用にかなりこなれた関数も用意してるし。
- 883 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:10:21 ]
- >>879
>コードなんて20行も無いだろ? そうとは限らないだろ・・・どんだけ規模の小さいプログラムよ
- 884 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:11:34 ]
- >>882
例外処理用に関数用意するなら、 最初から、ThreadExceptionイベントをハンドルして処理するだけでいいだろが
- 885 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:11:57 ]
- >>883
1メソッド20行にも納められないのかよ。 どんだけ、汚いプログラムだよw
- 886 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:13:34 ]
- >>884
趣旨が間違えているぞ。 運用に入ってからでも、ユーザーに気付かれず、 簡単に且つ素早く、エラーを起こしている箇所を特定しなければならないんだよ。
- 887 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:21:09 ]
- >>879
>可読性の良いコードなら、catchやfinallyにバグが入り込む可能性は低い。 可読性は関係ないだろー そこにバグがあると動作中のバグがどこにあるのかわからないことだってある。
- 888 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:25:03 ]
- >>886
ThreadExceptionイベントで、 簡単に且つ素早く、エラーを起こしている箇所を特定できない状況をおしえてくれよ。 そもそもユーザーに気づかれない機能って何だよ。
- 889 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:26:55 ]
- つか、スタックトレースを知らないってオチはないよな…
- 890 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:29:05 ]
- .NET the final frontier.
- 891 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:31:54 ]
- ThreadExceptionイベントで取れるわけだが・・・
- 892 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:38:11 ]
- スタックトレースは厳密な経路ではない
- 893 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:42:18 ]
- 結局スタックとレース以外でcatchやfinallyは必要ないってオチですか?
- 894 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:45:00 ]
- 厳密な経路ってどんなん?
スタックトレースでは困るほど異なるもんなのか?
- 895 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:46:30 ]
- そんなに場所特定したいならpbd付けとけ
- 896 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:47:08 ]
- pdbだorz
- 897 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:47:53 ]
- 全メソッドでExceptionをキャッチ
経路の詳細情報をログ出力 そして再スローって 具体的にどんなコードになるんだ?
- 898 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:48:36 ]
- スタックトレースってReleaseとDebugで挙動が異なるんじゃなかった?
- 899 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:50:41 ]
- ソースのパスと行番号が出るだけ
- 900 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:50:49 ]
- >>897
あまりいじりたくないコードになりそうだなw
- 901 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:51:24 ]
- どこで例外が起きてるかそこまでして知らなくてはならないということは、
どうしようもないパゲッティで、どっちらけなコードではないか?
- 902 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:56:15 ]
- >>901
お前らのコードよりも見やすい自信はある。 但し、サブルーチンが多いので、奥まで入れてグチュグチュする必要はある。
- 903 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:59:15 ]
- スパゲッティじゃんw
- 904 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:13:17 ]
- >>903
なんだ? お前はサブルーチンのないコードが正当だというのか? 普通、コメントや改行、宣言を除いて、メソッドで処理に書ける行は5〜10行だぞ。 それ以上長くなると、可読性のないコードになる。 それだと、一つ一つサブルーチンにしてしまった方が良い。
- 905 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:16:00 ]
- 厳密もなにも、メソッド内で得れる経路情報なんて、
ThreadExceptionイベントでも取得できますよ。 それにさ、メソッドごとに特化した例外処理なんて入れてたら、 それこそ、そこにまでバグが潜む可能性があるんだからさ、 決まり文句かくならThreadExceptionイベントで十分だろ。
- 906 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:18:54 ]
- >>904
つまり、10000ステップのソースなら、 1000〜2000メソッドあるってことですね。
- 907 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:20:29 ]
- >>906
つ共通化
- 908 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:20:59 ]
- >>905
メソッド内の例外処理は全て同じ。
- 909 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:22:52 ]
- 行数が少ないほど可読性が高いと思ってるのか?
DBの正規化でも、同じことが言えるだろ? 簡単な電卓プログラムじゃないんだから。
- 910 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:25:12 ]
- >>907
お前のステップ換算は共通化する前のソースなのか? >>908 全て同じなのに、ThreadExceptionイベントでダメな理由は何?
- 911 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:26:39 ]
- ま、どうでもいいけど、
たった1000ステップに100も200もメソッド作らんね。
- 912 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:28:34 ]
- >>909
1024*768で、 一画面に収まるコードはマナーだろ。 >>910 関数化も共通化も終えての行数だ。 ステップ数じゃない。
- 913 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:32:15 ]
- ここにいる連中はステップ数と行数の違いもわからないのか?
マジあきれた。
- 914 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:34:12 ]
- 一度その全て同じなコードを書いてみてくれ。
- 915 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:36:10 ]
- その全て同じなコードが処理行数5〜10行の全てのメソッドに書いてあるのか?
- 916 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:39:04 ]
- で、関数の数はいくつなん?
- 917 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:39:36 ]
- >>915
全て同じなコード自体が1行のコードだがな
- 918 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:40:38 ]
- >>916
言うほど多くない。 クラス設計できてたら大したことにならない。
- 919 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:42:32 ]
- 練習で作った電卓プログラムですってオチですか?
- 920 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:43:02 ]
- なんかわけのわからんことで揉めてるな
正直、例外のトラップを一元化した方が好ましいって言う奴初めて見たよw それ実践を踏まえて言ってるんだろうか。 それって、それこそN-BASICの時代のON ERROR GOTOじゃんw いやそれならまだしも、その飛び先で例外オブジェクトをパースしないといけないんでしょ? それじゃSDKのウィンドウプロシージャと一緒じゃんw
|

|