1 名前:デフォルトの名無しさん [2007/01/12(金) 15:57:21 ] 前スレVB.NET質問スレ (Part18) pc10.2ch.net/test/read.cgi/tech/1161250878/
449 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 03:02:16 ] >派生型の GetHashCode メソッドを呼び出した場合、戻り値はハッシュ テーブル内のキーとしての使用には適していない可能性があります。 派 生 型 の ちゃんと嫁。 ここでいう派生型ってのはつまり自分で作成した値型ってこと。 自作じゃないやつはMSDN見ればちゃんと適切に実装されていることが分かる。 ついでに、適切でないってのは、同値条件が不明だからってだけで、 同じビットイメージなら同じ結果になったはず。
450 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 08:22:32 ] >ここでいう派生型ってのはつまり自分で作成した値型ってこと。 おいおいw それは日本語の読解としておかしいよ。 すくなくともこの文章にそんな含意はないでしょう。 もちろん他にそういう意味の記述があれば話は別だが、 調べた限り見当たらないんだよね。 だから>>425 のとおり質問させてもらったわけで。 >>443 では一応納得したふりをしたけど、本当はそんな確証はどこにもないと思う。
451 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 10:17:53 ] ああ、言い間違い。 組み込みじゃない型のこと。
452 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 10:35:21 ] 派生型では適しないの意味を理解してないだろ。 既定の実装では全メンバが反映されるんだったような気がする。 もちろん派生型でこれが適しない可能性はある。 が、組み込み型では正しく動作するようになってる。 列挙は整数型と同じだから問題なし。
453 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 10:56:01 ] >>450 つまり組み込み型でも値型のハッシュは使えないとお前は言いたいのか? んなわけあるかぼけ
454 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 11:18:28 ] 別function内で起きたエラーもtry〜catch文で拾えるんでしょうか? どこら辺探れば理解できるかヒントでいいのでお願いします sub main try if func_test then label1.text = "true" else label1.text = "false" end if catch label1.text = "exception error" end try end sub function func_test() as boolean 〜〜〜〜〜 ここで例外エラー 〜〜〜〜〜 return true end function
455 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 11:54:39 ] >>454 別Functionから例外投げればいいんじゃない?
456 名前:454 mailto:sage [2007/02/06(火) 12:21:48 ] >>455 ありがとうございます 出来ればmain内でエラーを拾いたいのです 今は拾えない前提で、func_testの部分を関数化せず if func_test then の部分が出て来る度にtry〜catchで囲ってました。
457 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 12:25:58 ] >>452 派生型に「組み込み型は除く」なんて含意があるわけないでしょw 単に「〜から派生した型」、「〜を継承した型」という以上の意味があるはずがない。 ちなみに>>449 の説明はObject型の説明でしょう。 .NETでは全ての型はObject型からの…まああとは言うまでもないね。
458 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 12:26:44 ] func_test内でtry〜catchしてなかったら外側で例外拾えると思ってた
459 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 12:45:34 ] >>457 お前思い付きで物言ってんだろ、話にならん。 objectじゃなくてValueTypeの説明の話だし、 Int32とかそれぞれの組み込み型のメソッドの説明に載ってる。 つまりきちんとオーバーライドされてる。 ちゃんと読めや。
460 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 12:52:18 ] もうお前ら消えていいよ
461 名前:427 mailto:sage [2007/02/06(火) 14:40:33 ] 同じソースで、/t:exeならConsole.Writeで、 /t:winexeならMsgBoxかMessageBox.Showで出力しようとしても、 Console.Writeが/t:winexeでNOPになるだけで判別できないのです。 なにか方法ありませんか?
462 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 15:31:47 ] >>450 お前ArrayListが単純な配列とか有り得ない、 可変長配列は連結リストとかで作るのが常識みたいなこと ほざいてたやつじゃねーか?w
463 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 16:11:44 ] 馴れ合いなら、どこかよそでやれよ。
464 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 16:26:37 ] for each文で、配列の何番目の要素なのか簡単に取得する方法ってありますか?
465 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 16:27:32 ] ない
466 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 16:28:49 ] 馴れ合いってそういう意味だっけか?
467 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 16:31:41 ] >>465 ありがとう
468 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 18:51:23 ] >>459 なるほど、ValueTypeの説明には明示的ではないにしろ、 キーにつかっても安全と取れる記述があるね。 >>449 がはっきり「ValueTypeの説明にこうある」と書いてくれれば いらん「誤解」は避けられたのに。 まあ、一応レスはありがとう。 でも君ごときにお前呼ばわりされるいわれはないよ。
469 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 19:10:14 ] 2ちゃんでは二人称はお前がデフォだろうが
470 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 19:11:48 ] 放っておけ
471 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 19:51:28 ] >>468 MSDNのメソッドの説明部分にもろ書かれてることを、 どこにも載ってないと言ってみたり、 最初からValueTypeの話で始まってるのに 勝手にobjectの説明だと決めつけたり まあおめでたいやつだ。 誤解する方がおかしい。
472 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 19:55:31 ] ついでに言っとくがobjectのハッシュ実装の方こそ、 既定のハッシュ実装としては使えない。 これは確か明記されてなかったか?
473 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 20:30:29 ] >MSDNのメソッドの説明部分にもろ書かれてることを ごめんこれ具体的にどこのこと言ってるの? 真面目にわからないから教えて欲しい
474 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 21:27:44 ] そっちが期待してる「書かれてる内容」とは違うと主張するのかもしれんが Int32.GetHashCodeとかとにかく 組み込み型のGetHashCodeはみんなドキュメントあるだろ。
475 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 21:30:18 ] それとも具体的にハッシュとして使えると明記されてないから こんなのは信用できないってか?
476 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 21:52:09 ] >>475 えーっと、それはプログラマとして当然の姿勢だと思いますが。。。
477 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:00:52 ] だったら何も使うなよ。 常識のレベルってもんがあるだろうが。 あの説明で具体的に何を疑うわけ?
478 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:04:07 ] つまりCLR組み込みの例えば整数型は わざわざハッシュメソッドをオーバーライドした上で しかもドキュメントにはこのインスタンスのハッシュコードを返すと書きながら それを正しく実装していないと疑ってるわけだな?
479 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:06:00 ] やっぱりArrayListの列挙が順番通りなんて とても信用できない、有り得ない君か?
480 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:10:42 ] 初歩的な質問ですみません。 勉強がてらソフトキーボードを作っています。 例えばフォームのボタンをクリックしたら、他のアプリのテキストボックスに 文字などを表示するには、どうしたらいいんでしょうか?
481 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:12:49 ] そんなに熱くなる理由がさっぱりわからん。 不確かなことに依拠しない、なんてことはエンジニアだけでなく、 あらゆる仕事の基本だと思いますが。
482 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:14:38 ] Vista挿入した香具師居てるンですかどうなんですかブビの運命やいかに
483 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:29:05 ] デタラメばっかり言って人の言うことを全く信用しないからだ。 何のためにここに書き込んだわけ? お前は誰が何を言っても信用しないのに
484 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:31:50 ] お前は疑うところがずれてんだよ。
485 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:34:06 ] >>480 何が分からないか具体的に
486 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:35:54 ] >>483 やっぱりそういう受け取り方をする人なんだね。 今日日増えたなこういうパーソナリティの人間。。 冷静に。 「信用できない」、「不確か」という言葉は君という人格に向けられた物じゃない。 君を信用できないとか誰が信用できないとかそういう問題じゃないんだよ。 大人ならそれぐらいわかるでしょ。
487 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:45:21 ] じゃあMSDNでいいよ 書かれてると言っても 書かれてることを読んでも 信用できないんだろ。 ただ、ここで言われたんじゃなく、自分で見て読んだなら そこまで疑った反応するわけないんじゃないのか? 本当にMSDNに書かれてる内容をそこまで疑ってしか見られないんじゃ とても開発なんて出来ないよ。 俺には何が疑わしいのか理解できないからな。
488 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:49:37 ] まあ、人が作ったものが信用できないなら自分で作ればいいだけだが それで仕事になるかどうかは知らんが
489 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:50:38 ] わるいがわざわざ2チャンで冷静に見えるように書き込む必要を感じない。 携帯で丁寧な文は面倒なんだよ あと内容で反論出来なくなたっらメンタリティとか、どうでもいいんだよ。 どこが疑わしいのかはっきり書け。 っていったらプログラマとして当然か、 悪いが全然当然じゃない。 よっぽどうがった見方しないと疑う余地がない。
490 名前:480 mailto:sage [2007/02/06(火) 22:52:25 ] >>485 レスありがとうございます。 フォームのボタンをクリックするとフォーム内の 仮に置いたテキストボックスに文字を表示する事はできました。 わからないのは、フォームではないアプリの入力欄に打ち込む方法です。 どんな設定やメソッド?を使えばいいのか見当がつかない状態です。
491 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:52:27 ] うがった見方ってのは、MSがわざわざ嫌がらせで 罠をはった実装を行った、くらいのレベルだ。
492 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 00:08:08 ] ちなみにInt32のGetHashCodeの実装は 自分自身の値を返す、だ。
493 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 00:23:03 ] ぶも。 最近@ITのVB記事がひどいでつ。
494 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 00:40:41 ] 使用者のレベルに合わせてるだけでつ。
495 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 01:36:57 ] >>490 SendMessageでWM_KEYDOWN/WM_KEYUPメッセージを送るといい
496 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 10:12:08 ] 配列の記事はまたひどいぶぶんがあるな。 なんかVBプログラマって感じだ。
497 名前:デフォルトの名無しさん [2007/02/07(水) 15:05:35 ] 質問です。 VB.Net2003でクラスライブラリを作成しています。 自作でクラスライブラリを作成することはできています。 できたDLLを別のVB.Netプロジェクトから参照して使用するのですが、 プログラミング時にインテリセンスで自作DLLの関数の説明を表示させるには どのようにすればいいでしょうか? System.ComponentModel の Description で自作プロパティを修飾したら プロパティグリッドに説明が表示されますが、 自作関数に Description を使用してもインテリセンスには表示されません。 何を使って修飾すべきなのでしょうか?
498 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 15:20:12 ] ドキュメントコメント xmlのやつ
499 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 15:21:51 ] ってVBか。 アドイン使わないと出来なかったな。 dll参照なら確かアドインでxml作れば出来たと思う。
500 名前:497 mailto:sage [2007/02/07(水) 15:44:31 ] ドキュメントコメントでググってみました。 VB2003では標準ではできないっぽいですね。 Imports System.ComponentModel <Description("ほげ")> _ Public Function Hoge() As Stirng 'なんたらかんたら〜 みたいにお手軽にできるものならやろうと思っていたんですけど。 VBCommenterとかのアドインがあるみたいですね。 まぁそのうちにVS2005に移行する予定なので今は我慢しておきます。 情報提供ありがとうございました。
501 名前:480 mailto:sage [2007/02/07(水) 17:14:26 ] >>495 ありがとうございます。調べて試してみます。
502 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 22:59:53 ] 色々調べたのですが判らず、恐縮ですが教えていただけるとありがたいです。 Excel2003 VBAでは、 Application.OnTime TimeValue("17:00:00"), "my_Procedure" のように、簡単に、指定した時刻に処理を行うことが出来るのですが、 VB.NETでは、 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick '処理 End Sub のように、指定時刻から現在時刻を引き、それをTimerのインターバルに設定して、指定時刻に処理を行う 方法が良いのでしょうか?
503 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 23:02:30 ] 0.5秒ごとに指定時刻と現在時刻を比べるといい なあに大した負荷ではない むしろその方が誤差は少ないじゃないか
504 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 23:36:44 ] >>503 なるほど。力業の感じを受けましたが、VBAとは違ってそのような処理は軽いんですね。ありがとうございました。
505 名前:かのん ◆Ry3ufnjL32 mailto:sage [2007/02/08(木) 00:09:26 ] VB2005のRichtextにおいて、マウスカーソルはRichtextboxがもともと持っているにもかかわらず、 フォームエディタで設定されたCursorで上書きされてしまいます。そのため、画像のサイズ変更ハンドル などが表示されません。 フォームエディタで設定されたCursorを表示しないようにして、もともとRichtextboxコントロールが持っている マウスポインタを表示させたままにすることはできますでしょうか(いろいろやってみたのですが、 カーソルが点滅して使い物になりませんでした。)。よろしくご享受ください。
506 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 13:52:44 ] アップロードするプログラムを作るためにソケットを使おうと思うんですが Private sc As New Sockets.Socket( _ Net.Sockets.AddressFamily.InterNetwork, _ Net.Sockets.SocketType.Stream, _ Net.Sockets.ProtocolType.Tcp) を数回使ったりするプログラム方法ってありますか? 打開策が見いだせなくて死んでますOTL
507 名前:デフォルトの名無しさん [2007/02/08(木) 21:22:38 ] 式のウオッチで、式の値が変化したときに停止(ブレーク)する、の設定は どのようにするのでしたっけ?前にやったような気がするんですが、 またやろうとしたらメニューのどこを見てもそれらしいのがなく、Help見ても 出てきませんです。困りました。。。
508 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 22:29:12 ] >>506 数回使うという意味が分からん
509 名前:デフォルトの名無しさん [2007/02/09(金) 02:09:48 ] VB2005でlzhファイルを解凍したいのですが、うまくいかなくて弱っています・・・ どう修正したら良いのでしょうか? Public Class Form1 Public Declare Function Unlha Lib "unlha32" _ (ByVal hWnd As Long, ByVal szCmdLine As String, _ ByVal szOutput As String, ByVal dwSize As Long) As Long Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Lzhfilename As String Dim Outdir As String Dim Meltopt As String Dim result As Long '戻り値 (成功:0 失敗:エラーコード) 'ディレクトリ指定 & 解凍オプション Lzhfilename = Chr(34) & "C:\Documents and Settings\My Documents\My eBooks\Book.lzh" & Chr(34) Outdir = Chr(34) & "C:\Documents and Settings\My Documents\My eBooks\" & Chr(34) Meltopt = "e " & Lzhfilename & " " & Outdir result = Unlha(Me.hWnd,Meltopt, "", 0) If (result <> 0) Then MsgBox "Error/Warning : 0x" & Hex(result) End Sub End Class
510 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 02:37:34 ] >>509 dobon.net/vb/dotnet/links/extractarchive.html
511 名前:デフォルトの名無しさん [2007/02/09(金) 09:57:20 ] >>510 できませんでした。
512 名前:デフォルトの名無しさん [2007/02/09(金) 12:06:40 ] .NETで既存のExcelファイルを開きマクロを操作(実行)するには どう記述したら良いのでしょうか?
513 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 12:26:28 ] VB.NETでExcelVBAのマクロを動かす方法は?? ttp://homepage1.nifty.com/MADIA/vb/vb_bbs2/200409_04090028.html ttp://hanatyan.sakura.ne.jp/bbs/wforum.cgi?mode=allread&no=4441&page=0#4441 MicroSoft Excelを起動(既存のファイルを開く) ttp://www.bcap.co.jp/hanafusa/dotnet/Excel01.htm#no2 Visual Basic .NET からオートメーションを使用して Office マクロを実行する方法 ttp://support.microsoft.com/kb/306682/ja
514 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 12:31:41 ] >>508 複数のファイルをアップロードしようと思うんです。 今はソケットを大量に作ってますOTL
515 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 14:19:10 ] >>512 .NETでExcelなどのCOMを扱うのは参照の解放漏れ対策で苦労するので、 VB6やWSHでやったほうが楽なのでは?
516 名前:デフォルトの名無しさん [2007/02/09(金) 16:40:11 ] ちょっとこういうことできるか聞きたいんだが 【開発環境】VB.NET2003 あるラベル(長さは文字数が違っても一列で表示したい)を動的に縦に並べて作成する。 その横にテキストボックス(サイズは固定)を配置 で、ここでテキストボックスのLeftを揃えたい ただし、ラベルの文字の長さは変わる こういうことは出来るんだろうか・・・ 結果的に↓みたいな感じにしたい LABEL1AAA | TEXTBOX1 LABEL1BB | TEXTBOX1 LABEL1C | TEXTBOX1 ずれてたらすまんが | が縦に並ぶようなイメージ もし、こんなので出来るよって人いたらお願いします。
517 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 16:45:38 ] 一番長いラベルが収まる幅を確保すればいいだけではないの? Measurestringとか。
518 名前:デフォルトの名無しさん [2007/02/09(金) 17:01:55 ] >>517 まさにその通りだったんですが Graphics名前空間にこんな便利なのがあるとは・・・ これで計算した大きさにラベル合わせていけば問題なくいけそうです!!! ありがとうございました!
519 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 18:41:34 ] んなことわざわざしなくてもラベルのサイズってAutoにできたような。。。
520 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 18:57:07 ] 質問よく読めよ・・・
521 名前:デフォルトの名無しさん [2007/02/09(金) 20:28:19 ] ちょっと教えてください ユーザーコントロールを作成しました。 このコントロールは System.Windows.Forms.UserControl を継承していますが ListViewのように常時スクロールバーを表示する機能は標準で実装されていないようです。 そこで、ListViewのように常時このコントロールにスクロールバーを表示させたいのです。 (ただし、スクロールできない場合は、グレーで操作不能) こういう実装は可能なのでしょうか? ググってみたのですが、どうもこういう質問は見当たらなかったもので・・・
522 名前:デフォルトの名無しさん [2007/02/09(金) 20:33:14 ] >>514 一気にパケット送って一気に元に戻しちゃぁいけないの?
523 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 21:07:53 ] >>521 HorizontalScroll, VerticalScrollはどう?
524 名前:デフォルトの名無しさん [2007/02/09(金) 21:14:24 ] >>523 折角お答えいただいたのに申し訳ない FrameWork2.0ならそれでいけるのですが、 現在の環境はFrameWork1.1 SP1(細かく忘れましたがとにかく最新です。) になっているんです。 確認してみたのですが見当たらなかったので・・・ 環境書き忘れごめんなさい。
525 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 21:19:10 ] >>524 あーそれじゃあ VScroll, HSrollってprotectedなプロパティがあったと思うから、 オーバーライドしてやればどうかな
526 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 21:21:29 ] あっと、 オーバーライドじゃなくて、普通に設定するだけでいい。 AutoScrollをfalseにするのを忘れずに。
527 名前:デフォルトの名無しさん [2007/02/09(金) 21:51:39 ] >>525 >>526 度々のレス、ホントありがとうございます。 んっと どうもそのプロパティは基本的に表示可能かどうかを示す値なような・・・ というわけでBooleanなので設定試してみましたがムリでした。(AutoScrollはFalse) 最初の説明を見直してみてちょっと修正したいと思ったんですが ListBoxコントロールのScrollAlwaysVisibleプロパティ ズバリコレと同じ事をユーザーコントロールで実装したいと思っていただければ 自分でそのあたり実装しなくてはいけないんでしょうが何をベースにしていいのやらがまったく・・・・
528 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 22:03:21 ] >>527 VScrollBar コントロールをそのUserControlに張り付けりゃいいんじゃねーの?
529 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 22:16:18 ] >>527 となると、SetScrollInfoをP/Invokeかなあ 他の処理も自前でやらないといけなくなりそうだが
530 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 00:04:52 ] 貴重な意見ありがとうございます。 >>528 そうなると自前で書く部分が相当増えそうなきがして。。。 コントロールの移動とか(;´∀`) >>529 ちょっとそれでググたりしてやってみることにします。 実際、コントロールの機能にないものを実装することがなかったので・・・ かなりきついとは思いますが(;´∀`)
531 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 00:33:30 ] 親亀の上に子ガメをのせて孫亀乗せればいいじゃないか
532 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 01:15:31 ] とりあえずやってみました。 >>528 の方法をまず試してみた 中にあるコントロールのサイズが大きいときだけEnable=Trueにして 期待通りの動作はしたけれど問題はVisualStyleですね。 次は>>529 のを次試してみることにしよう
533 名前:デフォルトの名無しさん [2007/02/11(日) 19:09:57 ] 誰か>>507 教えてください。よろしく
534 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 22:56:23 ] 質問です 他の方がC#で作ったというDLLをもらってきて、 自分のVB2005で参照追加して使っているのですが、 できたプログラムをIDE上のデバッグモードで走らせるときは、期待通りの結果が得られますが、 ビルドしてできたEXEを実行しても結果がデバッグモードの時と違ってしまいます。 具体的にはDLLに含まれるある関数の戻り値が、ビルドしたEXEファイルでは必ず0になってしまっているようです。 他に特にエラーを吐くわけでもなく、DLL内のクラスのインスタンスを作ったり、関数を呼ぶこと自体はできているようです。 このようにデバッグ時とビルド後で結果が違ってしまう場合の原因ってどんなことが考えられるでしょうか? ちなみに、環境はWinXP Pro(SP2) + VB2005 ExpressEditionです
535 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 23:13:08 ] >>533 2003になったとき、しばらく探してあきらめたような覚えがある。 ぶっちゃけ無くなっちゃったと思ってる。
536 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 23:21:06 ] VB6とかいうインタプリタの時代の機能じゃねえの?
537 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 23:25:29 ] >>534 関数? 作者に聞くしかないんじゃね? // とか言いつつ実は漏れだったらどうしようw
538 名前:534 mailto:sage [2007/02/11(日) 23:48:34 ] >>537 >関数? すみません、書き方が悪かったです。 正確にはDLLに含まれるクラスの中のメソッドです。 「A.DLL」のなかに 「B」というクラスがあって、そのクラス内にFunction C() As Double というメソッドがあったとして、 Dim Test As A.B = New A.B MsgBox(Test.C().Tostring) というコードを実行したとき、デバッグモードでは0でないある数値が表示されるのに、ビルドした後だと必ず0が表示されてしまうのです。 やっぱり作者に聞くしかないですかね・・・
539 名前:デフォルトの名無しさん [2007/02/12(月) 01:18:45 ] Form3_Loadで、もしForm1からForm3へ移動してきた場合は真 Form2からForm3へ移動してきた場合は偽を返す ・・・みたいなこと出来ますか? もし出来るのでしたらヒントかソース教えていただけると嬉しい。
540 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 01:25:58 ] >>538 デバッグ時とリリース時で挙動が違うときは最適化を疑う >>539 「移動してきた」の意味が分からん。 直前にアクティブだったってこと? それとも各フォームからShowされたってこと?
541 名前:539 [2007/02/12(月) 01:30:50 ] フォーム1,2でこのソースを使って3へ移動しています If frm3 Is Nothing Then frm3 = New Form3 End If frm3.Owner() = Me Me.Hide() frm3.ShowDialog() わかりにくくてすみません
542 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 01:36:16 ] >frm3.Owner() = Me ってしてるんだったらForm3_LoadでOwnerの型を調べりゃいいじゃん
543 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 01:51:37 ] >>538 ConditionalAttributeが怪しいといってみる
544 名前:539 [2007/02/12(月) 02:11:40 ] レスありがとうございます! Ownerの型ってどうやって調べるんでしょうか? ぐぐっても今一ピンとくるものがなく困っています。
545 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 06:30:38 ] >>539 if frm3.Owner = frm1 then これでだめか?
546 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 10:32:52 ] しかし、ダメな奴に限って意味なくやたらとウィンドウが遷移するような UI作りたがるのはどうしてなんだろうね。 そんでもって「別フォームの変数にアクセスするには〜」とか言ってやんの
547 名前:デフォルトの名無しさん [2007/02/12(月) 15:25:52 ] ちょっとぼやいてもいい?? しかしなんでこうHelp役に多端の金? ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.ja/CPref17/html/M_System_Windows_Forms_ToolStripItemCollection_CopyTo_1_1f033e27.htm このCopyToすると、元のメニューのコレクションの中身が全部なくなるって 不具合なんで記載しておかないの金?w
548 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 15:27:36 ] CopyってCloneつくるんじゃなくて、配列にコピーしたら元のは消しますって かいとかないのはなぜ?w もしコピーじゃなくて移動ならMoveとか名前変えないと 絶対ウソだろが。
549 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 15:58:07 ] アンタの環境特有のURL貼られてもねえw