前スレ
VB.NET質問スレ(Part40)
http://toro.2ch.net/test/read.cgi/tech/1365857015/
VB.NET質問スレ(Part41)
http://peace.2ch.net/test/read.cgi/tech/1391334405/
VB.NET質問スレ(Part42)
http://echo.2ch.net/test/read.cgi/tech/1419148239/
VB.NET質問スレ(Part43)
https://mevius.5ch.net/test/read.cgi/tech/1465958469/
探検
VB.NET質問スレ(Part44)
■ このスレッドは過去ログ倉庫に格納されています
1.(もんじゃ)
2018/05/26(土) 18:08:49.12ID:QSlAAqmb2018/09/15(土) 12:57:12.64ID:wC5+IMEd
>>48
>>エンドユーザーの都合で
金出すヤツの意見が通るのが実情
VB6までの資産有る所はC#にはしない傾向に有る
残念なのは日本でVB.NETに関する導入事例や書籍など情報自体が少ない
海外が多いくらいだ
ネット上で海外から情報取得して生かすしか方法が無い
日本マイクロソフトもC#重視したから尚更
>>エンドユーザーの都合で
金出すヤツの意見が通るのが実情
VB6までの資産有る所はC#にはしない傾向に有る
残念なのは日本でVB.NETに関する導入事例や書籍など情報自体が少ない
海外が多いくらいだ
ネット上で海外から情報取得して生かすしか方法が無い
日本マイクロソフトもC#重視したから尚更
2018/09/15(土) 13:03:37.15ID:f69ONJY6
51デフォルトの名無しさん
2018/09/15(土) 18:21:04.91ID:V2kvEVN2 C#に比べて
ラムダとかエクステンションの書き方が
めっちゃわかりにくい
ラムダとかエクステンションの書き方が
めっちゃわかりにくい
2018/09/16(日) 11:47:37.40ID:o5IUt/R9
VB.NETでシステム構築して今更、他の言語を検討してるとか言ってる所も有る
VB.NETのままでも安く運用する方法考えれば良いのだが、システム更新に責任持ちたく無いヤツ居る職場だと永遠にシステム刷新出来ない罠
VB.NETのままでも安く運用する方法考えれば良いのだが、システム更新に責任持ちたく無いヤツ居る職場だと永遠にシステム刷新出来ない罠
2018/09/16(日) 14:03:16.46ID:o5IUt/R9
VB+Oracleで構築しちゃうと
ライセンスでOracleが足かせになる場合出るので、Oracle→MariaDBやPostgreSQLにする方が安く出来る
ライセンスでOracleが足かせになる場合出るので、Oracle→MariaDBやPostgreSQLにする方が安く出来る
2018/09/21(金) 14:21:26.19ID:PK30RsTe
SQL鯖の一択
2018/09/22(土) 15:01:46.72ID:tW/Yy4gZ
VB.NET(〜VS2013)の細かい仕様の質問なんだけど、
通常のFormにPictureBoxを載せて、PictureBoxのデバイスコンテキストを取ってきて自前で低レベルAPIで描画してるんだけど、
最初にALTキーを押した時にPictureBoxがチラついて自前の描画が消えてしまう場合がある。
このちらつきは、そのアプリの起動後、ALTキーを押した時に必ず1回だけ発生して、場合によって自前描画もちらつきとともに消える模様。
これを抑止することって出来ないのかな
FormのOnPaint、OnPaintBackgroundを空メソッドにオーバーライドしても効き目なかった
通常のFormにPictureBoxを載せて、PictureBoxのデバイスコンテキストを取ってきて自前で低レベルAPIで描画してるんだけど、
最初にALTキーを押した時にPictureBoxがチラついて自前の描画が消えてしまう場合がある。
このちらつきは、そのアプリの起動後、ALTキーを押した時に必ず1回だけ発生して、場合によって自前描画もちらつきとともに消える模様。
これを抑止することって出来ないのかな
FormのOnPaint、OnPaintBackgroundを空メソッドにオーバーライドしても効き目なかった
2018/09/22(土) 15:40:38.65ID:kFAOP0FY
一般的な問題と思えんから再現可能なコードを示さないと
誰も何も言えないと思う
誰も何も言えないと思う
2018/09/22(土) 15:52:30.06ID:tW/Yy4gZ
え?そんなにやってることが特殊かな?
扱うデータが大きくてその視覚化を自前ネイティブに任せるとか、よくやる方法だと思ってた
聞く場所を間違えたかな・・・
扱うデータが大きくてその視覚化を自前ネイティブに任せるとか、よくやる方法だと思ってた
聞く場所を間違えたかな・・・
2018/09/22(土) 15:58:27.43ID:pAduR83f
2018/09/22(土) 16:22:56.12ID:kFAOP0FY
2018/09/22(土) 16:39:18.15ID:tW/Yy4gZ
>>58
ありがとう
FormのKeyUpとKeyDownとKeyPressイベントで、e.Handled = Trueにしてるんだけど、それでもちらつく
またFormのKeyUpイベントの後に自前描画し直してるんだけど、それでも自前描画が消えてしまうことがある
こういうのがあるから.NETは信頼できないんだよな
ありがとう
FormのKeyUpとKeyDownとKeyPressイベントで、e.Handled = Trueにしてるんだけど、それでもちらつく
またFormのKeyUpイベントの後に自前描画し直してるんだけど、それでも自前描画が消えてしまうことがある
こういうのがあるから.NETは信頼できないんだよな
2018/09/22(土) 16:42:39.47ID:kFAOP0FY
システムのバグだー!!!
タメグラマの典型的な思考回路だねw
賭けてもいいよ絶対にあんたの書いたコードのバグだからw
タメグラマの典型的な思考回路だねw
賭けてもいいよ絶対にあんたの書いたコードのバグだからw
2018/09/22(土) 16:49:12.59ID:tW/Yy4gZ
エスパーにしか分からん位に特殊な実装だとは全然思ってなかったなw
2018/09/22(土) 16:52:51.71ID:kFAOP0FY
だから何でそうなるのw
そもそもあんた、特殊な実装をしてるかどうか読み手が判断できるような情報を何も書いてないだろうw
だからそれで答えが返ってきたらエスパーだと言ってるのに重症だなおい
そもそもあんた、特殊な実装をしてるかどうか読み手が判断できるような情報を何も書いてないだろうw
だからそれで答えが返ってきたらエスパーだと言ってるのに重症だなおい
2018/09/22(土) 16:53:24.99ID:/LVptLz+
膨大なデータ生で見せられてもユーザーにはメリットがないのでデータの見せ方を変える
低レベルAPIじゃなく高速描画ライブラリを使う
というのが一般的な対応じゃないかな
そもそもここで言う一般的ってのはやってることが一般的かどうかという意味じゃなく
事象と発生条件が一般的ではないから実際のものを見なきゃ何もわからないという意味だろう
低レベルAPIじゃなく高速描画ライブラリを使う
というのが一般的な対応じゃないかな
そもそもここで言う一般的ってのはやってることが一般的かどうかという意味じゃなく
事象と発生条件が一般的ではないから実際のものを見なきゃ何もわからないという意味だろう
2018/09/22(土) 16:54:14.91ID:kFAOP0FY
hDC取ってWin32API呼びました、これが実装の詳細か?w
2018/09/22(土) 17:14:32.51ID:tW/Yy4gZ
>>64
言葉を返すようだが、「見せ方」「メリット」というけど、そこまで相談はしていないよ
低級API利用が特殊だとは全く思わないし、そもそも描画手続きについて相談してるわけでもない
ALTキー押下でVB.NETのPictureBox上の自前描画が消えるのが問題なんだよ
自前描画もそうだけど、ALTキーを押すなんてそんな特殊なケースだとは思わなかったね
みんな普段ALTキーを使ってないのかよ?w
言葉を返すようだが、「見せ方」「メリット」というけど、そこまで相談はしていないよ
低級API利用が特殊だとは全く思わないし、そもそも描画手続きについて相談してるわけでもない
ALTキー押下でVB.NETのPictureBox上の自前描画が消えるのが問題なんだよ
自前描画もそうだけど、ALTキーを押すなんてそんな特殊なケースだとは思わなかったね
みんな普段ALTキーを使ってないのかよ?w
2018/09/22(土) 17:19:14.70ID:kFAOP0FY
マジで言ってるなら相当の幸せ回路だな
ALTキーを押すのが特殊と思わんかったてw
何でそうなるのw
ALTキーを押すのが特殊と思わんかったてw
何でそうなるのw
2018/09/22(土) 17:24:48.15ID:ga1yzWrI
>>66
VB.NETでブラウザ上表示じゃなくForm描画だとしたら、PictureBOXが載ってる親オブジェクトのFormの描画リフレッシュレートタイミングに問題が有るんじゃ無いか
VB.NETでブラウザ上表示じゃなくForm描画だとしたら、PictureBOXが載ってる親オブジェクトのFormの描画リフレッシュレートタイミングに問題が有るんじゃ無いか
2018/09/22(土) 19:34:34.13ID:/LVptLz+
「起動後の最初」に特定のキーを押す
描画が消えてしまう「ことがある」
特殊バグすぎてイラつくわ
一般的に起こってたまるかよ
描画が消えてしまう「ことがある」
特殊バグすぎてイラつくわ
一般的に起こってたまるかよ
2018/09/22(土) 20:50:50.11ID:tW/Yy4gZ
2018/09/22(土) 20:54:15.78ID:tW/Yy4gZ
ところで、再現手順については必要最低限の情報を提示したつもりだったんだが、こんなに特殊に受け止められるとは想定外だったな
これだけ出回っているツールだから、同じケースで悩んでいる人たちがいるだろうと思ってたんだが
主張根拠を、相手の書き込みの一部だけを恣意的に抽出してつなげて、捏造主体の印象操作を行うことに羞恥心を感じない心の浅い人もいるみたいだし、
聞く場所を間違えた、という結論に至りました^^
これだけ出回っているツールだから、同じケースで悩んでいる人たちがいるだろうと思ってたんだが
主張根拠を、相手の書き込みの一部だけを恣意的に抽出してつなげて、捏造主体の印象操作を行うことに羞恥心を感じない心の浅い人もいるみたいだし、
聞く場所を間違えた、という結論に至りました^^
2018/09/22(土) 21:01:14.93ID:/LVptLz+
バイバイ
2018/09/26(水) 19:54:20.52ID:9vsYZzuM
JavaのOpenJDKはLTSバージョンが無くなった
.NET復権だろうな
.NET復権だろうな
2018/10/04(木) 03:58:18.05ID:3Cg3sys6
この掲示板だけのインシデントと信じたいが、
お前らマジで使えねえな
その程度でイキってるからVB.NETが馬鹿にされるんだよ、ゴミ共が
お前らマジで使えねえな
その程度でイキってるからVB.NETが馬鹿にされるんだよ、ゴミ共が
75デフォルトの名無しさん
2018/10/28(日) 14:59:16.13ID:SFrY9m9d GetPrivateProfileStringでINIファイルの全文を読み込む方法ってありますか?
76デフォルトの名無しさん
2018/10/28(日) 17:31:59.35ID:pnWZEcOz77デフォルトの名無しさん
2018/10/28(日) 20:11:08.64ID:SFrY9m9d78デフォルトの名無しさん
2018/10/28(日) 20:28:08.52ID:SFrY9m9d http://jump.5ch.net/?https://msdn.microsoft.com/ja-jp/library/cc429779.aspx
ここを参考に考えてみたけれど
lpDefault
NULL で終わる既定の文字列へのポインタを指定します。lpKeyName パラメータで指定したキーが .ini ファイル内に見つからなかった場合、
GetPrivateProfileString 関数はこの既定の文字列を、lpReturnedString パラメータが指すバッファへコピーします。lpDefault パラメータで NULL を指定することはできません。
第一引数と第二引数をNULLにしてSECTIONとKEYを一挙に取得したい際、pKeyName パラメータで指定したキーが見つからないってことだと思うから
結局第三引数が第四引数の中に入っちゃうのですが
解釈がおかしいのでしょうか
ここを参考に考えてみたけれど
lpDefault
NULL で終わる既定の文字列へのポインタを指定します。lpKeyName パラメータで指定したキーが .ini ファイル内に見つからなかった場合、
GetPrivateProfileString 関数はこの既定の文字列を、lpReturnedString パラメータが指すバッファへコピーします。lpDefault パラメータで NULL を指定することはできません。
第一引数と第二引数をNULLにしてSECTIONとKEYを一挙に取得したい際、pKeyName パラメータで指定したキーが見つからないってことだと思うから
結局第三引数が第四引数の中に入っちゃうのですが
解釈がおかしいのでしょうか
79デフォルトの名無しさん
2018/10/28(日) 20:43:01.97ID:pnWZEcOz >>78
実際にやってみた?、考えただけ?
普通に解釈すればlpKeyNameがNULLということは
キーを指定していないんだからキーが見つからないと
なるとは考えられないけどね
実際にやってみてlpDefaultの値がlpReturnedStringに
入ってしまったのならこの関数で全文取得は無理なんじゃないかな
実際にやってみた?、考えただけ?
普通に解釈すればlpKeyNameがNULLということは
キーを指定していないんだからキーが見つからないと
なるとは考えられないけどね
実際にやってみてlpDefaultの値がlpReturnedStringに
入ってしまったのならこの関数で全文取得は無理なんじゃないかな
80デフォルトの名無しさん
2018/10/28(日) 22:33:46.69ID:SFrY9m9d >>79
実際にやってみて入らなかったよ、教えてくれたのに申し訳ない。
INIファイルからキーを全部抽出して任意のタイミングで変数に入れたいだけなんだが
調べてもよく分からなくて質問を受けてくれてる方にも
困惑させてしまっているな...
実際にやってみて入らなかったよ、教えてくれたのに申し訳ない。
INIファイルからキーを全部抽出して任意のタイミングで変数に入れたいだけなんだが
調べてもよく分からなくて質問を受けてくれてる方にも
困惑させてしまっているな...
2018/10/29(月) 06:03:03.69ID:WUUAbnDR
30分ごとに料金を+500円ずつ足していってラベルテキストに表示するプログラムが作りたいのですが
どうすればいいでしょうか?
経過時間を計測するところまではできています
どうすればいいでしょうか?
経過時間を計測するところまではできています
2018/10/29(月) 08:05:28.84ID:zamFShY8
>>81
Tickイベントで1秒毎に変数に1足していって300.600.900辺りで表示するようにすればいい
Tickイベントで1秒毎に変数に1足していって300.600.900辺りで表示するようにすればいい
2018/10/29(月) 10:50:14.54ID:oAZGLoeZ
>>80
> 第一引数と第二引数をNULLにしてSECTIONとKEYを一挙に取得したい
誤解してない? これで手に入るのはセクションの一覧だよ
その後で個々のセクションごとに改めて第2引数だけNULLでGetPrivateProfileStringを呼び出してそのセクション内のキー一覧を取得する
ほかの確認事項としては
iniのファイルパスが正しい確認、念のためフルパスで渡す
\0で区切られた文字列はStringとかStringBuilderとかでは正しく受け取れないからByte配列で受け取ってEncoding::GetStringで文字列変換
> 第一引数と第二引数をNULLにしてSECTIONとKEYを一挙に取得したい
誤解してない? これで手に入るのはセクションの一覧だよ
その後で個々のセクションごとに改めて第2引数だけNULLでGetPrivateProfileStringを呼び出してそのセクション内のキー一覧を取得する
ほかの確認事項としては
iniのファイルパスが正しい確認、念のためフルパスで渡す
\0で区切られた文字列はStringとかStringBuilderとかでは正しく受け取れないからByte配列で受け取ってEncoding::GetStringで文字列変換
2018/10/29(月) 18:57:40.55ID:vJZ8/XYU
>>83
ごめんなさい、少し勘違いをしていました。
第一引数でセクションを指定し、第二引数をVBNullStringにした場合、キー値ではなく何故かセクション名をひとつだけ取得するのですが、第一引数でセクションを指定し、第二引数をnullにすれば指定したセクションのキー値をすべて取得できるという解釈は誤りでしょうか?
ごめんなさい、少し勘違いをしていました。
第一引数でセクションを指定し、第二引数をVBNullStringにした場合、キー値ではなく何故かセクション名をひとつだけ取得するのですが、第一引数でセクションを指定し、第二引数をnullにすれば指定したセクションのキー値をすべて取得できるという解釈は誤りでしょうか?
2018/10/29(月) 19:27:50.65ID:oAZGLoeZ
> 第一引数でセクションを指定し、第二引数をnullにすれば指定したセクションのキー値をすべて取得できるという解釈は誤りでしょうか?
解釈は正しい
セクションしか取れないのは何か勘違いしてんじゃね
1つしか取れないのは>>83の最後の行
解釈は正しい
セクションしか取れないのは何か勘違いしてんじゃね
1つしか取れないのは>>83の最後の行
2018/10/29(月) 20:04:46.54ID:EQ0ZvgtX
>>85
GetPrivateProfileString(セクションの変数, キー値の変数, "", strBuffer, strBuffer.Capacity, FileName)
KeyValue =strBuffer.ToString
第一引数でセクションの変数(ここでは「element」とします。)第二引数にVBNullStringを代入した際、strBufferに格納される値が
「element」のみなのですが>>85さんの仰るとおり何か勘違いをしているのでしょうか...
以下、INIファイルです
[element]
VALUE1 = AAA\nBBB
VALUE2 = CCC\nDDD
[element2]
VALUE3 = EEE\nFFF
VALUE4 = GGG\nHHH
本来VALUE1の値である「AAA\nBBB」とVALUE2の値である「CCC\nDDD」が取得されるものかと思っておりました。
GetPrivateProfileString(セクションの変数, キー値の変数, "", strBuffer, strBuffer.Capacity, FileName)
KeyValue =strBuffer.ToString
第一引数でセクションの変数(ここでは「element」とします。)第二引数にVBNullStringを代入した際、strBufferに格納される値が
「element」のみなのですが>>85さんの仰るとおり何か勘違いをしているのでしょうか...
以下、INIファイルです
[element]
VALUE1 = AAA\nBBB
VALUE2 = CCC\nDDD
[element2]
VALUE3 = EEE\nFFF
VALUE4 = GGG\nHHH
本来VALUE1の値である「AAA\nBBB」とVALUE2の値である「CCC\nDDD」が取得されるものかと思っておりました。
87デフォルトの名無しさん
2018/10/30(火) 00:57:51.70ID:8/9eZ6sC 大して複雑でもないんだから、悩むなら
ファイル全読して自分で解析した方が早そう
ファイル全読して自分で解析した方が早そう
2018/10/30(火) 13:23:38.49ID:LlhJqt4w
>>86
ヌルストリングはヌル値じゃなくて空文字列の事じゃん?
ヌルストリングはヌル値じゃなくて空文字列の事じゃん?
2018/10/30(火) 13:36:29.61ID:LlhJqt4w
nullにすればって言ってるからヌル渡してると思うじゃん?
まさか空文字列を渡して動かないと言ってるとは思わないじゃん?
まさか空文字列を渡して動かないと言ってるとは思わないじゃん?
2018/10/30(火) 13:43:18.14ID:2q9Nopp0
(定数) Constants.vbNullString As String = Nothing
インテリセンスによるとこうらしい
説明では長さ0の文字列とか言ってるけどな
インテリセンスによるとこうらしい
説明では長さ0の文字列とか言ってるけどな
2018/10/31(水) 01:30:41.68ID:uKh/exBf
>>86
GetPrivateProfileString("element", vbNullString, ...
としたときにバッファに帰る文字列は
"VALUE1" & vbNullChar & "VALUE2" & vbNullChar & vbNullChar
なので、lpReturnedString に StringBuilder を渡すと最初の vbNullChar で区切られてしまう。
こういうときは >>83 が書いてくれてるようにバイト配列で受けるか、 Marshal.AllocHGlobal でバッファを確保してアドレスを渡す。
Unicode バージョンを呼び出している場合は
Dim bufferPtr As IntPtr = Marshal.AllocHGlobal(1024)
Dim buffer As String = String.Empty
Dim nSize As Integer = GetPrivateProfileString("element", vbNullString, vbNullString, bufferPtr, 512, "C:\HOGE.ini")
If nSize > 0 Then buffer = Marshal.PtrToStringUni(bufferPtr, nSize - 1)
Marshal.FreeHGlobal(bufferPtr)
Dim keys As String() = buffer.Split(vbNullChar)
こんな感じ
GetPrivateProfileString("element", vbNullString, ...
としたときにバッファに帰る文字列は
"VALUE1" & vbNullChar & "VALUE2" & vbNullChar & vbNullChar
なので、lpReturnedString に StringBuilder を渡すと最初の vbNullChar で区切られてしまう。
こういうときは >>83 が書いてくれてるようにバイト配列で受けるか、 Marshal.AllocHGlobal でバッファを確保してアドレスを渡す。
Unicode バージョンを呼び出している場合は
Dim bufferPtr As IntPtr = Marshal.AllocHGlobal(1024)
Dim buffer As String = String.Empty
Dim nSize As Integer = GetPrivateProfileString("element", vbNullString, vbNullString, bufferPtr, 512, "C:\HOGE.ini")
If nSize > 0 Then buffer = Marshal.PtrToStringUni(bufferPtr, nSize - 1)
Marshal.FreeHGlobal(bufferPtr)
Dim keys As String() = buffer.Split(vbNullChar)
こんな感じ
2018/11/03(土) 19:15:19.21ID:t0xGKw3G
>>90
Nothingを文字列として評価すると長さゼロの文字列だからな
Nothingを文字列として評価すると長さゼロの文字列だからな
2018/11/03(土) 19:36:08.98ID:SHI5qsHH
VBのNothingはnullではなく型の規定値だったはず。
つまり、
Dim hoge as String = Nothing
はC#の
var hoge = default(string);
と同じはず。
だからどっちにしろ空文字ではなくNull参照じゃないとおかしい気がする
つまり、
Dim hoge as String = Nothing
はC#の
var hoge = default(string);
と同じはず。
だからどっちにしろ空文字ではなくNull参照じゃないとおかしい気がする
2018/11/03(土) 20:46:51.95ID:0JFYuFT5
Debug.Print("{0}", String.Empty.Equals(vbNullString)) .. False
Debug.Print("{0}", String.Empty = vbNullString) ... True
面白いな。
Debug.Print("{0}", String.Empty = vbNullString) ... True
面白いな。
2018/11/07(水) 00:28:16.72ID:SlJfY7pV
WindowsFormアプリからExcelを参照する際に困ったことがあったので質問します。
いま参照しているExcelに名前ボックスが同じ名前のActivexコントロール(CheckBox)が2つあるんですが片方のValue値が取れません。
Excelには手を加えずに解決する方法をご存じの方はいますか?
いま参照しているExcelに名前ボックスが同じ名前のActivexコントロール(CheckBox)が2つあるんですが片方のValue値が取れません。
Excelには手を加えずに解決する方法をご存じの方はいますか?
2018/11/08(木) 16:15:45.02ID:QFdBGuQW
>>95
自己解決しました。
自己解決しました。
2018/11/08(木) 18:23:13.28ID:EefS2xXv
>>96
解決方法ぐらい書き込めよ
解決方法ぐらい書き込めよ
2018/11/08(木) 21:54:24.86ID:VFBZ++97
2018/11/12(月) 17:40:02.30ID:epPqaRvS
datagridviewで選択した行のテキストを各列ごとにテキストボックスに反映させるにはどうすればいいですか?
100デフォルトの名無しさん
2018/11/13(火) 11:07:08.55ID:XsWLHTll BindingSourceを作って
DataGridViewのDataSourceと各TextBoxのDataBindingに割り当てる
DataGridViewのDataSourceと各TextBoxのDataBindingに割り当てる
101デフォルトの名無しさん
2018/11/13(火) 17:35:19.43ID:rlJmmkiE BindingSource って Visible=False なコントロールを飛ばするとか、微妙なところあるんだよなぁ
102デフォルトの名無しさん
2018/11/16(金) 15:10:13.08ID:3cDS4XFZ 11/14あたりのWindowsUpdateでListViewの表示がおかしくなった。
正確には「View=Tile」にしてもLargeIconになってしまうケースがある。
既にリリース済みのシステムで今日から表示がおかしいという問合せが
あった。どこに原因があるのか確認しようとミニマムなコードを書いて
みても普通にTileで表示されるので原因がまだ特定できていない。
それとApplication.EnableVisualStyles()していてもTabコントロール上の
ボタンにVisualStyleが適用されないものもある。この時、Tabコントロール
以外に存在するコントロールにはVisualStyleが適用されている。
これも原因がわからない。。
同じような現象になった人っていますか?
正確には「View=Tile」にしてもLargeIconになってしまうケースがある。
既にリリース済みのシステムで今日から表示がおかしいという問合せが
あった。どこに原因があるのか確認しようとミニマムなコードを書いて
みても普通にTileで表示されるので原因がまだ特定できていない。
それとApplication.EnableVisualStyles()していてもTabコントロール上の
ボタンにVisualStyleが適用されないものもある。この時、Tabコントロール
以外に存在するコントロールにはVisualStyleが適用されている。
これも原因がわからない。。
同じような現象になった人っていますか?
103デフォルトの名無しさん
2018/11/16(金) 23:58:30.69ID:HodhQ/sE おるわけないやろオマエのバグやのにw
104デフォルトの名無しさん
2018/11/20(火) 17:31:14.06ID:5r5VrLgw Windowsフォームを閉じる際にMe.close()とMe.dispose()の両方を書いたら閉じる時の挙動がおかしい(後ろで開いてたエスクプローラーが一瞬だけ出てくる)のですが原因が分かる方いますか?
105デフォルトの名無しさん
2018/11/24(土) 15:05:28.97ID:krxB1Xz+ 俺も今月からおかしいのに気が付いた。
Private Abc as String = "AAA"と設定しているのに、
ボタンイベントで下記のみ実行
Abc = "ABDEF"
TextBox1.Text = Abc
Dim S1 as String = Abc
Msgbox(S1)
上記のコードを実行すると Msgboxの表示は”AAA”
テキストボックス表示は”ABDEF”
今月になって発覚した。
仕方ないからクラスを追加してグローバル変数にして実行している。
プライベート変数 すべてに影響があって初期値に戻される事象。
vs2017の修正を試したがだめだった。
Private Abc as String = "AAA"と設定しているのに、
ボタンイベントで下記のみ実行
Abc = "ABDEF"
TextBox1.Text = Abc
Dim S1 as String = Abc
Msgbox(S1)
上記のコードを実行すると Msgboxの表示は”AAA”
テキストボックス表示は”ABDEF”
今月になって発覚した。
仕方ないからクラスを追加してグローバル変数にして実行している。
プライベート変数 すべてに影響があって初期値に戻される事象。
vs2017の修正を試したがだめだった。
106デフォルトの名無しさん
2018/11/24(土) 15:23:36.71ID:VBkVIhNz >>105の頭が目がおかしいのだろう
さすがにそんな言語レベルの根本的なバグがあったら自動テストで拾える
Msgboxのバグで以前表示した値が出ているとかならワンチャンないとも言い切れなくもないかもしれない可能性はゼロではないかもね
さすがにそんな言語レベルの根本的なバグがあったら自動テストで拾える
Msgboxのバグで以前表示した値が出ているとかならワンチャンないとも言い切れなくもないかもしれない可能性はゼロではないかもね
107デフォルトの名無しさん
2018/11/24(土) 22:20:58.15ID:/Hv6UjJC こいつらはどうしてちゃんと環境かかないんだろうねぇ
108デフォルトの名無しさん
2018/11/25(日) 11:13:33.12ID:sTNuHYLw 聞かれないからじゃね
109102
2018/11/26(月) 08:57:51.44ID:DXbnFpYk Windows 10 Pro 1803 x64
VisualStudio 2013 + .NET Framework 4 + VB.Net
この環境で Windows.Forms アプリを開発してます。
VisualStudio 2013 + .NET Framework 4 + VB.Net
この環境で Windows.Forms アプリを開発してます。
110デフォルトの名無しさん
2018/11/26(月) 09:23:13.92ID:jCGZ4ioD .NET4はとっくにサポート期限切れてるから使っちゃダメ
もしWinのアップデートのせいだったとしても、サポート切れの.NET4なんか当然テストしてないだろうし、自己責任よ
もしWinのアップデートのせいだったとしても、サポート切れの.NET4なんか当然テストしてないだろうし、自己責任よ
111102
2018/11/26(月) 15:59:12.73ID:DXbnFpYk 当該の不具合が発生している環境は Window 7 Pro x86 です。
後だし情報ですんません。
後だし情報ですんません。
112102
2018/11/26(月) 16:02:59.93ID:DXbnFpYk 連投になってしまってすんません。
Windows 7 は 2020年1月で切れるということは、まだ切れてないんじゃ
ないんですか?
この解釈は間違ってますか?
.NET Framework 4 のサポートが終わったってどこに記述ありました?
ここにはそこまで書いてないと思うのですが。
https://www.microsoft.com/ja-jp/download/details.aspx?id=17718
Windows 7 は 2020年1月で切れるということは、まだ切れてないんじゃ
ないんですか?
この解釈は間違ってますか?
.NET Framework 4 のサポートが終わったってどこに記述ありました?
ここにはそこまで書いてないと思うのですが。
https://www.microsoft.com/ja-jp/download/details.aspx?id=17718
113102
2018/11/26(月) 16:25:55.15ID:DXbnFpYk ライフサイクルについてはここで見つけることができました。
https://support.microsoft.com/ja-jp/help/17455/lifecycle-faq-net-framework
「2016 年 1 月 12 日に終了しました」とありますなorz
https://support.microsoft.com/ja-jp/help/17455/lifecycle-faq-net-framework
「2016 年 1 月 12 日に終了しました」とありますなorz
114デフォルトの名無しさん
2018/11/27(火) 02:01:37.35ID:JHhXTC3j そもそもVS2013って、Win10で動作保証されているのか?
115デフォルトの名無しさん
2018/11/27(火) 10:19:17.21ID:Z5tknMOb VB2013てWin8.1までだな。
Win10ならVS2015以降か。
Win10ならVS2015以降か。
116デフォルトの名無しさん
2018/11/27(火) 16:09:13.84ID:veQAfEkI もしかして、開発のプロパティが .NET2とか初期値になってない?
PCにインストールしていない下位バージョンの.NET開発は挙動がおかしいよ。
まれだが、バージョンを最新に指定するとなおることも多い。
PCにインストールしていない下位バージョンの.NET開発は挙動がおかしいよ。
まれだが、バージョンを最新に指定するとなおることも多い。
117102
2018/11/27(火) 19:10:09.64ID:Z5tknMOb >>116
対象のフレームワークは.NET Framework 4になってる。
ミニマムに再現確認しようと新規でプロジェクトを(.NET4で)作成しても問題なし。
でも既存のはListViewでView.TileにならずView.LargeIconだったりVisualStyleが適用されなかったりする。。
(Win7の実行環境でもWin10の開発環境でも。)
みんなはちゃんと最新の開発環境に移行できてるの!?
今回問題になってるアプリケーションはVS2003の頃に.NET1.1で開発初めて、途中で.NET2.0にして
いまはVS2013+.NET4で保守してきてるけど、そんなにポンポンと開発環境をMSの言うがままに
アップデートしてきてるの!?!?
対象のフレームワークは.NET Framework 4になってる。
ミニマムに再現確認しようと新規でプロジェクトを(.NET4で)作成しても問題なし。
でも既存のはListViewでView.TileにならずView.LargeIconだったりVisualStyleが適用されなかったりする。。
(Win7の実行環境でもWin10の開発環境でも。)
みんなはちゃんと最新の開発環境に移行できてるの!?
今回問題になってるアプリケーションはVS2003の頃に.NET1.1で開発初めて、途中で.NET2.0にして
いまはVS2013+.NET4で保守してきてるけど、そんなにポンポンと開発環境をMSの言うがままに
アップデートしてきてるの!?!?
118デフォルトの名無しさん
2018/11/27(火) 20:05:39.30ID:GOjY0rNn こういう典型的な保守さんを見ると、そんなにあんたたちの作ったものは品質が高いのかとツッコミたくなる
クソ細かいこと気にする前にもっと他にいくらでも直さなきゃいけないところあるだろ?
やるべきことをやらないくせに「やらない」ことに対してだけオーバークォリティな典型的な無能
クソ細かいこと気にする前にもっと他にいくらでも直さなきゃいけないところあるだろ?
やるべきことをやらないくせに「やらない」ことに対してだけオーバークォリティな典型的な無能
119デフォルトの名無しさん
2018/11/27(火) 20:10:12.34ID:p/6t1dkT >>118
子供過ぎw
子供過ぎw
120デフォルトの名無しさん
2018/11/27(火) 20:36:21.61ID:JHhXTC3j どうさ保障されてる環境でないとサポートされないからな
問題が起きたらまずサポートされてる環境で再現するか確かめるわ
問題が起きたらまずサポートされてる環境で再現するか確かめるわ
121デフォルトの名無しさん
2018/11/27(火) 23:40:16.63ID:Z5WUNYoK >>117
manifestになんか書いてるとか
manifestになんか書いてるとか
122102
2018/11/28(水) 17:57:11.21ID:ue+ZFZI7 >>117
.manifestはないけど.exe.configならある。
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
<supportedRuntime version="v2.0" sku=".NETFramework,Version=v2.0"/>
</startup>
と書いてる。
このあたりをv2.0の行を削除してみたりuseLegacyV2RuntimeActivationPolicyを
なくしてみたりといじってみたけど解消されず。。
.manifestはないけど.exe.configならある。
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
<supportedRuntime version="v2.0" sku=".NETFramework,Version=v2.0"/>
</startup>
と書いてる。
このあたりをv2.0の行を削除してみたりuseLegacyV2RuntimeActivationPolicyを
なくしてみたりといじってみたけど解消されず。。
123デフォルトの名無しさん
2018/11/29(木) 00:08:17.33ID:VI19qptG ListViewは.NET4で安定してるはず。
NET4以前は、ある一定行数を超えるとエラーで処理が止まるということがあった。
だから、WIN32APIを使ってWM_PAINTメッセージを処理するコードを使わないと
ほぼ動かない状態だった。だが、.NET4でWIN32API呼び出しがいらなくなった。
多分だが、ビルド関係のPC固有のバグも含まれると思う。
なので、VSを終了してデバックされたものではない<開発中のアプリEXE>を
直接動かしてみてね。それでどうか?
VS2008の頃は、VSのデバック使わないで開発してた経緯がある。
NET4以前は、ある一定行数を超えるとエラーで処理が止まるということがあった。
だから、WIN32APIを使ってWM_PAINTメッセージを処理するコードを使わないと
ほぼ動かない状態だった。だが、.NET4でWIN32API呼び出しがいらなくなった。
多分だが、ビルド関係のPC固有のバグも含まれると思う。
なので、VSを終了してデバックされたものではない<開発中のアプリEXE>を
直接動かしてみてね。それでどうか?
VS2008の頃は、VSのデバック使わないで開発してた経緯がある。
124102
2018/11/29(木) 08:25:18.55ID:usvQhOSh >>123
.NET4 以前の不具合は知らなかった。ありがとう。
今回の現象は、.NET1.1の頃に開発したソースをそのままずっと引き継いでいて
VS2003〜2005〜2008〜2010〜2013、.NET1.1〜2.0〜3.5〜4と変遷しながらも
そのまま使用している。
いま起きている不具合は Releaseビルドした実行ファイルを、別PCで実行しても
発生するし、VSでのデバッグ実行でも発生している。
.NET4 以前の不具合は知らなかった。ありがとう。
今回の現象は、.NET1.1の頃に開発したソースをそのままずっと引き継いでいて
VS2003〜2005〜2008〜2010〜2013、.NET1.1〜2.0〜3.5〜4と変遷しながらも
そのまま使用している。
いま起きている不具合は Releaseビルドした実行ファイルを、別PCで実行しても
発生するし、VSでのデバッグ実行でも発生している。
125デフォルトの名無しさん
2018/11/29(木) 16:27:06.98ID:VI19qptG 確か、そのころVS2003とかDLL出力できないものだよね。
多分 .resxファイルとか残ってるでしょ?
サポート対象のバージョンで動くかどうかではなく、昔から流用してきたコードやメソッドを
見直すほうが先だと思う。古いメソッドとか使ってると微妙なものがある。
多分 .resxファイルとか残ってるでしょ?
サポート対象のバージョンで動くかどうかではなく、昔から流用してきたコードやメソッドを
見直すほうが先だと思う。古いメソッドとか使ってると微妙なものがある。
126102
2018/11/29(木) 19:16:02.04ID:usvQhOSh >>125
開発当初から.resxファイル使ってるよ。
これマズいの?
確かに過去に.NETを新しいものに変更したときそれまで使用していたメソッドが
使えなくなってメンテした記憶はある。
でも.NET4で作成したアプリがついこの間までは普通に使えていたのに
急に挙動(見た目)が変わるって変じゃない?
単純に ListView の View を Tile にしても LargeIcon になってしまうのって気持ち悪いし。
enum定数の値が変わったとかならわからなくもないけど、実際にはenumのView.Tileを
指定しているし。
ステップ実行してもそのタイミングでViewはTileになっている。
けれども実際の見た目はLargeIconになっている...
まあサポートの切れた.NET4を使っていて文句言うなと指摘されそうだけど。
開発当初から.resxファイル使ってるよ。
これマズいの?
確かに過去に.NETを新しいものに変更したときそれまで使用していたメソッドが
使えなくなってメンテした記憶はある。
でも.NET4で作成したアプリがついこの間までは普通に使えていたのに
急に挙動(見た目)が変わるって変じゃない?
単純に ListView の View を Tile にしても LargeIcon になってしまうのって気持ち悪いし。
enum定数の値が変わったとかならわからなくもないけど、実際にはenumのView.Tileを
指定しているし。
ステップ実行してもそのタイミングでViewはTileになっている。
けれども実際の見た目はLargeIconになっている...
まあサポートの切れた.NET4を使っていて文句言うなと指摘されそうだけど。
127デフォルトの名無しさん
2018/11/29(木) 20:42:47.87ID:zhuKFo+V デバッグ実行で再現するならミニマムコード作って晒せよ
128デフォルトの名無しさん
2018/11/30(金) 00:40:56.22ID:rf9Ni6yN あ! そうか・・ LargeIconの設定はコードで書いてるの?
リストビューのツールプロパティに設定項目なかったかな?
それで試してみた? 設定変更のコードを削除してから試してね。
ただ、頻繁に変更するとか、あとバグるメソッドじゃないんだよね。
なんどもすまん!
リストビューのツールプロパティに設定項目なかったかな?
それで試してみた? 設定変更のコードを削除してから試してね。
ただ、頻繁に変更するとか、あとバグるメソッドじゃないんだよね。
なんどもすまん!
129102
2018/11/30(金) 08:57:01.31ID:SIPYJVnh >>127
ミニマムコード書いても再現されないから困ってるんだよ。
>>128
ListViewコントロールのViewを LargeIcon、Tile、SmallIcon、List、Detail と
切り替えられるようにしている。
もちろんコードでやってる。
で、書いてくれたように今、デザイン時でTileにしてコードでは変更しなくてもやはり
LargeIconになってしまったよ。。。
Tile時はImageに加えてSubItemの文字列も表示されるので便利なんだけど
現状ではLargeIconになってしまうのでSubItemが見えず一見すると同じような
ものが並んでしまって判断つかないからDetailに表示を切り替えて我慢して
もらっている。でもこれだとImageが表示されないので、これはこれで不便なんだよね。
そもそも気になるのが、VisualStyleを有効にしているのに、同じフォーム内でも
ボタンで適用されているのとされていないものが混在しているってこと。
フォームのタブコントロール上のパネルコントロールに配置しているボタンには
適用されていないけれどフォームのパネルコントロールに配置しているボタンは
適用されている。。。
でも再現確認しようとミニマムなものを新規で作成してみてもこんな事にならず
ちゃんと全てのコントロールにVisualStyleは適用される。
わけわからない。。
ミニマムコード書いても再現されないから困ってるんだよ。
>>128
ListViewコントロールのViewを LargeIcon、Tile、SmallIcon、List、Detail と
切り替えられるようにしている。
もちろんコードでやってる。
で、書いてくれたように今、デザイン時でTileにしてコードでは変更しなくてもやはり
LargeIconになってしまったよ。。。
Tile時はImageに加えてSubItemの文字列も表示されるので便利なんだけど
現状ではLargeIconになってしまうのでSubItemが見えず一見すると同じような
ものが並んでしまって判断つかないからDetailに表示を切り替えて我慢して
もらっている。でもこれだとImageが表示されないので、これはこれで不便なんだよね。
そもそも気になるのが、VisualStyleを有効にしているのに、同じフォーム内でも
ボタンで適用されているのとされていないものが混在しているってこと。
フォームのタブコントロール上のパネルコントロールに配置しているボタンには
適用されていないけれどフォームのパネルコントロールに配置しているボタンは
適用されている。。。
でも再現確認しようとミニマムなものを新規で作成してみてもこんな事にならず
ちゃんと全てのコントロールにVisualStyleは適用される。
わけわからない。。
130デフォルトの名無しさん
2018/11/30(金) 11:41:46.78ID:eQTcWZX5 賭けてもいい。システム側の問題じゃない
あなたのコードの問題
最初からそう言ってる人もいたけど、それはここに書いてる文章の行間からも十分推測できる
あなたのコードの問題
最初からそう言ってる人もいたけど、それはここに書いてる文章の行間からも十分推測できる
131デフォルトの名無しさん
2018/11/30(金) 18:19:51.56ID:Lh71478i 今のプロジェクトから削っていくのでも
新しいプロジェクトに増やしていくのでも
どっちでもいいから順番にやってけば
新しいプロジェクトに増やしていくのでも
どっちでもいいから順番にやってけば
132102
2018/11/30(金) 20:23:30.40ID:SIPYJVnh ミニマム環境作ってだいぶ調べた。
プロジェクトのプロパティで「アプリケーション」内の「アプリケーションフレームワークを有効にする」の
チェックを外すと再現できた。
このチェックを付けるとListViewはTileとして表示される。
チェックを外すとListViewはTileを指定してもLargeIconで表示されてしまう。
プロジェクトのプロパティで「アプリケーション」内の「アプリケーションフレームワークを有効にする」の
チェックを外すと再現できた。
このチェックを付けるとListViewはTileとして表示される。
チェックを外すとListViewはTileを指定してもLargeIconで表示されてしまう。
133デフォルトの名無しさん
2018/11/30(金) 21:39:51.29ID:cIO0a97u よし、その調子で調査を続けたまえ
134デフォルトの名無しさん
2018/11/30(金) 23:37:28.55ID:aHvjCfZ2 >To enable tile view, your application must call the Application.EnableVisualStyles method.
らしいけど、ちゃんと呼んでるのか?
アプリケーションフレームワーク有効だとその辺勝手にやってくれてたはず
らしいけど、ちゃんと呼んでるのか?
アプリケーションフレームワーク有効だとその辺勝手にやってくれてたはず
135デフォルトの名無しさん
2018/12/01(土) 15:47:20.03ID:6wWEz5Hu136デフォルトの名無しさん
2018/12/01(土) 18:09:06.36ID:KZz1rFV5 自動テストって業務アプリでもつくっておけよ。ww
そんなの死んでも作らんわ。
そんなの死んでも作らんわ。
137デフォルトの名無しさん
2018/12/03(月) 02:07:02.91ID:CiT4luJ/ そこまでならシステムバグかも。言ってるだろ保存時のエラーを拾ってる可能性が高いって。
私も経験していて、すべて同じコードをそっくり新規プロジェクト作成してコピペすると
バグの再現率は皆無。早めに移動させたほうがいいよ。
3年前には、バックグランドのIsBusyが毎度Falseで戻るというバグ。
この時も新規プロジェクトにコードをコピペしたら直った。
私も経験していて、すべて同じコードをそっくり新規プロジェクト作成してコピペすると
バグの再現率は皆無。早めに移動させたほうがいいよ。
3年前には、バックグランドのIsBusyが毎度Falseで戻るというバグ。
この時も新規プロジェクトにコードをコピペしたら直った。
138102
2018/12/03(月) 08:39:16.52ID:SG+JG4dk だから、新規でミニマムコード書いてみて再現するんだって。
VS2013+VB.NET+.NET4でWindowsForms新規プロジェクト作成して、
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
Me.ListView1.Columns.Add("1")
Me.ListView1.Columns.Add("2")
Me.ListView1.Columns.Add("3")
Me.ListView1.Columns.Add("4")
Me.ListView1.View = View.Tile
For i As Integer = 0 To 9
Dim lvi As ListViewItem = New ListViewItem(String.Format("item{0}", i))
lvi.SubItems.Add(String.Format("SubItem1_{0}", i))
lvi.SubItems.Add(String.Format("SubItem2_{0}", i))
lvi.SubItems.Add(String.Format("SubItem3_{0}", i))
Me.ListView1.Items.Add(lvi)
Next
End Sub
とでも書いておけば、プロジェクトのプロパティの「アプリケーションフレームワークを有効にする」の
チェック有無でViewがTileになったりならなかったりするんだって。
VS2013+VB.NET+.NET4でWindowsForms新規プロジェクト作成して、
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
Me.ListView1.Columns.Add("1")
Me.ListView1.Columns.Add("2")
Me.ListView1.Columns.Add("3")
Me.ListView1.Columns.Add("4")
Me.ListView1.View = View.Tile
For i As Integer = 0 To 9
Dim lvi As ListViewItem = New ListViewItem(String.Format("item{0}", i))
lvi.SubItems.Add(String.Format("SubItem1_{0}", i))
lvi.SubItems.Add(String.Format("SubItem2_{0}", i))
lvi.SubItems.Add(String.Format("SubItem3_{0}", i))
Me.ListView1.Items.Add(lvi)
Next
End Sub
とでも書いておけば、プロジェクトのプロパティの「アプリケーションフレームワークを有効にする」の
チェック有無でViewがTileになったりならなかったりするんだって。
139102
2018/12/03(月) 10:29:50.33ID:SG+JG4dk その後の検証で、VS2017+.NET4や.NET4.7.1などではアプリケーションフレームワークを無効にしていても
Application.EnableVisualStyles()を呼んでおけば大丈夫でした。
以上
Application.EnableVisualStyles()を呼んでおけば大丈夫でした。
以上
140102
2018/12/03(月) 10:44:29.67ID:SG+JG4dk VS2013のVB.NETでアプリケーションフレームワークを有効にしない場合、コードで
Application.EnableVisualStyles()を実行していてもVisualStyleが適用されない部分が発生する
(中途半端に適用されてしまう)ことがわかりました。
アプリケーションフレームワークを無効にして Sub Main() から起動していたものを
アプリケーションフレームワークを有効にして ApplicationEvents で処理するように変更することで
今回の件は対応できました。
さようなら。
Application.EnableVisualStyles()を実行していてもVisualStyleが適用されない部分が発生する
(中途半端に適用されてしまう)ことがわかりました。
アプリケーションフレームワークを無効にして Sub Main() から起動していたものを
アプリケーションフレームワークを有効にして ApplicationEvents で処理するように変更することで
今回の件は対応できました。
さようなら。
141デフォルトの名無しさん
2018/12/03(月) 13:28:55.92ID:iyo7d7NK Formを表示するだけなのにvirustotalで調べると
Endgame malicious (moderate confidence)
Trapmine malicious.moderate.ml.score
↑の2つが必ず検出される・・・
Endgame malicious (moderate confidence)
Trapmine malicious.moderate.ml.score
↑の2つが必ず検出される・・・
142デフォルトの名無しさん
2018/12/06(木) 20:59:58.22ID:6nIp7B/v VB2010のBackgroundworkerで質問です
Backgroundworker1(BW1)とBackgroundworker2(BW2)を用意しておいて、
メインスレッドからBW1を走らせ、BW1からさらにBW2を走らせるようにして
BW2で処理した結果をどうにかしてBW1に渡したいんですが、どうすれば
安全にできるでしょうか?
(BW1の中から更にBW2を起動できるのは確認済みです)
パッと思いついたのは
1. あらかじめグローバル変数を1つ用意
2. BW2の処理が終わったら計算結果をCompletedイベントで1のグローバル変数に書き込む
3. 次にBW1を起動する時に1のグローバル変数の内容を引数として渡す
というものですが、これだとBW1が起動するタイミングでしかデータを渡せないので
できればBW1の処理の途中でBW2の計算結果を取得できればと思ってます
Backgroundworker1(BW1)とBackgroundworker2(BW2)を用意しておいて、
メインスレッドからBW1を走らせ、BW1からさらにBW2を走らせるようにして
BW2で処理した結果をどうにかしてBW1に渡したいんですが、どうすれば
安全にできるでしょうか?
(BW1の中から更にBW2を起動できるのは確認済みです)
パッと思いついたのは
1. あらかじめグローバル変数を1つ用意
2. BW2の処理が終わったら計算結果をCompletedイベントで1のグローバル変数に書き込む
3. 次にBW1を起動する時に1のグローバル変数の内容を引数として渡す
というものですが、これだとBW1が起動するタイミングでしかデータを渡せないので
できればBW1の処理の途中でBW2の計算結果を取得できればと思ってます
143デフォルトの名無しさん
2018/12/06(木) 23:02:53.80ID:A0CG4R0v >>142
クラスを定義して BW1 で New して BW2 の起動時に渡せばいい。
BW2 では e.Argument をクラスにキャストしてプロパティや
フィールドを書き換えれば BW1 側で参照できる。
BW2 の終了を BW1 側でどうやって知るかというと
クラスに完了フラグを入れたり、待機するなら
AutoResetEvent など入れておく。
クラスを定義して BW1 で New して BW2 の起動時に渡せばいい。
BW2 では e.Argument をクラスにキャストしてプロパティや
フィールドを書き換えれば BW1 側で参照できる。
BW2 の終了を BW1 側でどうやって知るかというと
クラスに完了フラグを入れたり、待機するなら
AutoResetEvent など入れておく。
144デフォルトの名無しさん
2018/12/07(金) 07:03:19.31ID:3nrqnizA >>143
ありがとうございます
クラスやインスタンスについてはよく理解できてないんですが
・BW1とBW2の間で受け渡ししたい情報をプロパティとして持つクラスを作成
↓
・BW1の中でそのクラスのインスタンスを作ってBW2に渡したい値をプロパティにセットし、
それを引数としてBW2を起動させる
↓
・BW2側で計算が終わったらCompletedイベント内部でプロパティやフィールドを書き換える
って感じなのでしょうか?
BW2にデータを渡すのは何となく分かる気がするんですが、BW1からBW2の結果を
参照できる理屈がよくわからなくなってきました
ありがとうございます
クラスやインスタンスについてはよく理解できてないんですが
・BW1とBW2の間で受け渡ししたい情報をプロパティとして持つクラスを作成
↓
・BW1の中でそのクラスのインスタンスを作ってBW2に渡したい値をプロパティにセットし、
それを引数としてBW2を起動させる
↓
・BW2側で計算が終わったらCompletedイベント内部でプロパティやフィールドを書き換える
って感じなのでしょうか?
BW2にデータを渡すのは何となく分かる気がするんですが、BW1からBW2の結果を
参照できる理屈がよくわからなくなってきました
145デフォルトの名無しさん
2018/12/07(金) 07:40:39.74ID:kROUwqzj 俺はスレッドの同期には
スレッド1でMonitor.Waitでオブジェクトを待機
スレッド2で計算完了後渡したいデータをキューに入れる→Monitor.Pluse
スレッド1でWaitが解けたらキューを取得
以後ループ
ってやってる
スレッド1でMonitor.Waitでオブジェクトを待機
スレッド2で計算完了後渡したいデータをキューに入れる→Monitor.Pluse
スレッド1でWaitが解けたらキューを取得
以後ループ
ってやってる
146デフォルトの名無しさん
2018/12/07(金) 08:29:06.85ID:2afnIVVG147デフォルトの名無しさん
2018/12/07(金) 12:55:25.10ID:kROUwqzj148デフォルトの名無しさん
2018/12/07(金) 14:22:09.04ID:qTMW2jJh >>147
WaitHandleは.NET1.1からあるが
WaitHandleは.NET1.1からあるが
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【野球】井端監督 大谷翔平、山本由伸らのWBCへの参加 「1日も早く返事ほしい」「待っててといっても、国内組が遅くなってしまう」★3 [冬月記者★]
- 経団連会長、日中は建設的対話を 経済3団体が高市首相と初会談も日中関係は話題に登らず… [BFU★]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
- 今猛烈に食べたいもの挙げてけwwwwwwww
- 橋下徹「口だけ番長の日本が中国に喧嘩負け。なんとカッコ悪い日本か!」高市にバチーン!✴ [153490809]
- 【高市早苗】習近平激怒か [115996789]
- 🏡
- 今猛烈に食べたいもの挙げてけwwwwwwww
