2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

VB.NET質問スレ(Part44)

1 :.:2018/05/26(土) 18:08:49.12 ID:QSlAAqmb.net
前スレ

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/

151 :デフォルトの名無しさん:2018/12/07(金) 16:42:40.67 ID:a9TgYpl9.net
Dim p As New Ping()
Dim pr As PingReply = p.Send(ip, 2000)
If pr.Status = IPStatus.Success Then

ハードウエアに添付されてる特定のアプリをインストールした直後に
上記を実行すると、無限に p.Send(ip, 2000)で止まったままになるらしく。
強制的に抜け出す方法があれば教えてください。
特定アプリを削除すると正常に動きます。

152 :デフォルトの名無しさん:2018/12/07(金) 18:24:22.52 ID:8lt4nerT.net
>>151
それ、本当にPing.Sendがタイムアウトしないのかちゃんと確認した?
勘違いでしょ

本当にそんなバグがあればだれか問題にしてるはずだと思うけど
ググってみたがまったく見つからない

153 :デフォルトの名無しさん:2018/12/07(金) 19:28:23.36 ID:kK7I+myK.net
インスタンスがインポテンツに見える

154 :デフォルトの名無しさん:2018/12/07(金) 19:35:23.30 ID:kROUwqzj.net
>>150
そいつは返す返すも申し訳無かった
ちょっとググったら.net4て出てたもんで

155 :デフォルトの名無しさん:2018/12/07(金) 19:52:03.02 ID:cSzYN2du.net
>>151-152
クラッキング防止のため、ping には応答を返さないサーバーもある。
それで、クラッカーは、ずっと待たされるから、防止になる

タイムアウトするしかない

156 :デフォルトの名無しさん:2018/12/07(金) 20:16:52.60 ID:8lt4nerT.net
>>155
??

157 :デフォルトの名無しさん:2018/12/08(土) 17:03:31.13 ID:VtLU9F2e.net
>>148
Taskですか・・・初めて聞きました
ちょっとググって使い方を調べてみます

158 :デフォルトの名無しさん:2018/12/08(土) 22:06:24.24 ID:45hw1cdo.net
>>151 だが、遅くなってすみません。
確かに、どんなことがあってもタイムアウトかエラーで止まるとかあるはず。
今回は、どうにも納得できないのはある。
現状は、プライベートIPに向けてPingしてるからなんともいえないけど。

Pingを外して作り直してみますね。

     いろいろと、ありがとうございました。
      参考になったことを感謝!

159 :デフォルトの名無しさん:2018/12/08(土) 22:16:09.79 ID:pahfUmHO.net
>>157
async/awaitだろうけど、その処理は非同期じゃないとできないものなのか?

160 :デフォルトの名無しさん:2018/12/08(土) 22:50:58.82 ID:RUYrEQD/.net
むしろ基本は非同期ファーストでよほどの理由がなければ同期にはしないのが現代の.NETプログラミングの常識だろう
まあVBerにそれを強制すると大惨事だろうけど

161 :デフォルトの名無しさん:2018/12/08(土) 22:57:53.40 ID:pahfUmHO.net
>>160
それはUWPアプリの場合じゃないの?

162 :デフォルトの名無しさん:2018/12/08(土) 23:34:16.79 ID:RUYrEQD/.net
UWPだろうとWinFormsだろうとUIスレッドを長時間ブロックしたらフリーズするのは一緒や

163 :デフォルトの名無しさん:2018/12/09(日) 08:33:34.68 ID:rvgDVfN9.net
>>162
まぁ、そりゃそうだが何でもかんでも非同期処理にするのはどうかと思うぞ。
非同期って別スレッドだからスレッドの罠を分かってないヤツが実装すると危険だよ。

スキルの無いヤツほど難しい実装をやりたがる。
単純明快な実装で簡単にできるものまで。

164 :デフォルトの名無しさん:2018/12/09(日) 09:27:52.83 ID:QJ+QHutH.net
>>163
ほとんどの非同期処理は別スレッドではない
システムに依頼したIOの完了を現在のコンテキストのままでやるか、
完了を待って元のスレッドへコールバックするかの違いでしかない(デフォルトでは)
長い処理の完了を待つ必要がある(でもイベントベースの非同期は面倒だからコードはシーケンシャルに書きたい)ときに
利用側が待機用スレッドを作る必要がないので、従来のBackgroundWorkerや生Threadよりずっと安全だ

165 :デフォルトの名無しさん:2018/12/09(日) 15:37:28.92 ID:mC11Jcgj.net
>>159
そうですね
リアルタイムの物理シミュレーションで、物理演算スレッドとは別に裏で走らせたい
重いと予想される処理があるので非同期でないと具合が悪いです(しかもその
別処理での計算結果を物理演算スレッドで使う)
物理演算スレッドと同じスレッドでその別処理を走らせると別処理の結果が出るまで
物理演算スレッドが先に進まなくて全体のパフォーマンスが悪化するんで、何とか
別処理は物理演算スレッドから更に分離してマルチスレッドにしたいと考えています

以前はメインスレッドで物理演算スレッドを実行していたせいで描画がかなり遅くなって
Backgroundworkerを使って物理演算スレッドを分離したという経緯があるので、そこに
別処理を組み込むのもBackgroundworkerでやれたら・・・と考えていました

166 :デフォルトの名無しさん:2018/12/09(日) 19:44:31.49 ID:rvgDVfN9.net
>>164
はぁ?
スレッドプール使ってるだろ?

167 :デフォルトの名無しさん:2018/12/09(日) 19:48:39.49 ID:QJ+QHutH.net
>>166
TaskCompletionSource使えばスレッドを使わないTaskも作れるよ
というか.NET標準の非同期IOはだいたいそう

168 :デフォルトの名無しさん:2018/12/09(日) 19:54:44.04 ID:QJ+QHutH.net
なお、Taskがスレッドを使ってようがいまいが、それを使う側が意識する必要はない
デフォルトでは、処理の終了後に元と同じスレッドに処理が戻ってくるからね

169 :デフォルトの名無しさん:2018/12/09(日) 20:04:34.06 ID:rvgDVfN9.net
>>167
ワーカースレッドを使ってるっぽいけどね。

170 :デフォルトの名無しさん:2018/12/09(日) 20:09:03.43 ID:rvgDVfN9.net
>>168
非同期の中は相変わらずスレッドだし、スレッドの仕組みが分からない人が安易に使うべきじゃない。
スレッドプログラミングモデルは不完全だよ。

171 :デフォルトの名無しさん:2018/12/09(日) 20:14:07.42 ID:QJ+QHutH.net
>>169
どう見てもTaskCompletionSourceだね
https://github.com/dotnet/coreclr/blob/8b03dbeb90c81b8095b949b44553ff970e169851/src/System.Private.CoreLib/shared/System/IO/FileStream.Windows.cs

172 :デフォルトの名無しさん:2018/12/09(日) 20:25:21.69 ID:QJ+QHutH.net
>>170
安易もクソも、長時間かかる処理をUIをブロックすることなく、かつ手書きステートマシンによる大きな生産性可読性もなく記述しようと思えば、
別スレッドで同期処理するかTask使うしかないでしょ
で前者に比べれば後者のほうがまだ安全だと言ってるの
あっ、VBプロの伝家の宝刀DoEventsがあったかw

173 :デフォルトの名無しさん:2018/12/09(日) 20:40:58.46 ID:rvgDVfN9.net
>>172
スレッド絡みの罠を知った上で使うのは問題ないけどねぇ。
async/awaitって非同期が簡潔に書けるし超便利だし。

馬鹿が見様見真似で仕組みも分からずに安易に使うのは許せん。

174 :デフォルトの名無しさん:2019/01/10(木) 17:37:32.49 ID:92qiHI93.net
.NET CoreとしてVB.NET使った事例増えてるんかね?
これで増えないとVB.NETもヤバい

175 :デフォルトの名無しさん:2019/01/11(金) 20:27:00.79 ID:7NoyRly5.net
VB.NETはあっても良いがVB.NETを使うやつは死滅してくれ

176 :デフォルトの名無しさん:2019/01/12(土) 07:46:10.27 ID:uK0WXiBn.net
大丈夫100年後には皆死んでる

177 :デフォルトの名無しさん:2019/01/12(土) 19:37:47.15 ID:f5l6WgiO.net
UWPでdll使いたいんだけど、
Byval hogehoge as string だとエラー出ちゃうね。

試しに Byrefにすると通るんだけど、これバグかな?
文字列を受け取るのではなくて、送りたいからこれだと動かないんだけど。

178 :デフォルトの名無しさん:2019/01/19(土) 16:46:40.40 ID:SwmccsG2.net
コンパイラエラー C2872 あいまいなシンボルです。

コンパイルエラーが解消出来ません。
ご教授下さい。

■コンパイルエラー内容
error C2872: 'MarketplaceWebServiceProducts' : あいまいなシンボルです

■やりたいこと
AmazonのAPI「Marketplace Web Service API (MWS)」のHello world

以下ページの右上 オレンジ色の「Download」ボタンから入手できる
「MWSProducts_2011-10-01_v2017-03-22.dll」の使用
https://developer.amazonservices.jp/doc/products/products/v20111001/cSharp.html

■DLLの使用
Visual Studioの対象プロジェクトのプロパティから、
上記DLLの参照を追加しました

■コーディング
using namespace MarketplaceWebServiceProducts;//←ここはコンパイルOK
using namespace MarketplaceWebServiceProducts::Mock;//←★ここで上記コンパイルエラー

■ご質問
上位の「MarketplaceWebServiceProducts」が正常なのに、
下位の「Mock」を付けるとあいまいなシンボルになるのはなぜでしょうか。
解決策をご教授ください。(可能であれば実装をご提供ください)

■環境
Visual Studio
.Net 4.0
C++/Cli

179 :デフォルトの名無しさん:2019/01/19(土) 18:28:37.99 ID:wiNfQeeu.net
>本当にありがとうございます!!!!!!!!!!!!
>キモヲタ万歳!!!!!!キモヲタ役に立つ!!!!!!!!

この質問者は、荒らしだから、無視しろ!

180 :デフォルトの名無しさん:2019/01/22(火) 11:08:00.90 ID:MNWEiKG9.net
むかしのVisual Basic6とかVisual C++6を今からインストールしても
今インストールしてる最新の.NET環境に影響はありませんか?

181 :デフォルトの名無しさん:2019/01/22(火) 14:50:18.96 ID:WVGq8ekA.net
>>180
影響あるんじゃね詳しくは知らんが

182 :デフォルトの名無しさん:2019/01/22(火) 18:44:56.82 ID:MNWEiKG9.net
>>181
そうざますか。
どなたかくわしいひといらっしゃいませんか?

183 :デフォルトの名無しさん:2019/01/22(火) 21:45:30.75 ID:omWGXlHy.net
くわしいけど何か?

184 :デフォルトの名無しさん:2019/01/22(火) 21:49:21.31 ID:8mJXdjen.net
>>183
Visual Basic6とかVisual C++6を今からインストールしても
最新の.NET環境に影響はありませんか?

185 :デフォルトの名無しさん:2019/01/22(火) 22:25:56.22 ID:dU5LcznM.net
>>184
VS.NETは、バージョンの順番に入れないと上手く動かなかったりするけど
vb6, vc6は大丈夫だろ?

それ以前にWin10へのインストールはやったことがないなあ
俺なら仮装環境へWinXpを入れて使うか

186 :デフォルトの名無しさん:2019/01/22(火) 22:31:17.97 ID:dU5LcznM.net
vb6のアプリはWin10でも騙しながらなんとか動くよ

187 :デフォルトの名無しさん:2019/01/22(火) 23:33:46.55 ID:R4R8JbvY.net
騙しながらとは?
こういうあいまいな言葉いやだな。
コンピュータ業界の人ならはっきりとしたいものです。
前の会社で「サーバがコケた」とよく言ってた人を思い出した。
サーバに足はないんだからコケないだろ。

188 :デフォルトの名無しさん:2019/01/23(水) 09:44:49.58 ID:94ZvYw52.net
>>187
確かに鯖には足は無いね。
鯖は転けない。

プログラミングと言うものはコンピュータとユーザを如何に騙すかに掛かっている。

189 :デフォルトの名無しさん:2019/01/23(水) 11:55:45.33 ID:FAv1PkTN.net
vb6でコンパイルしたexeは騙し欺し動くけど
開発環境そのものを入れるのは何か問題あった希ガス

190 :デフォルトの名無しさん:2019/01/23(水) 12:23:13.73 ID:PxjKjC0I.net
>>189
インストール時にエラーが出まくるけど開発出来る程度にはインストールできたはず。

191 :デフォルトの名無しさん:2019/02/03(日) 07:05:27.37 ID:1VeLLRtF.net
個人で使うならいいだろうけど
仕事では使えんぞ

192 :デフォルトの名無しさん:2019/02/03(日) 08:12:36.09 ID:hzttK4k1.net
>>191
何が?

193 :デフォルトの名無しさん:2019/02/03(日) 09:37:23.77 ID:jXQtgLw9.net
無理やりインストールしたVB6で作ったソフトを仕事で使えるわけない

194 :デフォルトの名無しさん:2019/02/03(日) 09:46:16.79 ID:hzttK4k1.net
>>193
え、そうやって古いゴミvb6システムを騙しながら保守するんだぜ。
MSがvb6に引導を渡してくれたら客先も諦めて移行するんだけどね。

195 :デフォルトの名無しさん:2019/02/03(日) 16:33:16.07 ID:LOT7/zBp.net
業務で保守するなら古いOSも用意しとけよ

196 :デフォルトの名無しさん:2019/02/03(日) 21:35:04.09 ID:jXQtgLw9.net
会社が動作保証できない環境で開発させるのはブラックだけ

197 :デフォルトの名無しさん:2019/02/03(日) 23:41:50.04 ID:PKgH5/Eo.net
>>35
Strongwwwww

198 :デフォルトの名無しさん:2019/02/05(火) 22:36:03.07 ID:EuMjYSra.net
え?Microsoft製品って動作保証されてるの?
知らなかったなあ。.NET Frameworkって何か起きた時にはMicrosoftが補償してくれるんだ。
UWPなんかコンパイラのバグばかりだけど、これって金銭的補償とかしてくれるの?
そもそも業務でVB6使うよりも、Windows10使うほうが色々リスク高いと思うけど。

199 :デフォルトの名無しさん:2019/02/05(火) 23:52:58.77 ID:seWX9f2k.net
win10はサポート切れてないし

200 :デフォルトの名無しさん:2019/02/06(水) 02:13:01.38 ID:wO/VNrzd.net
今からでもいいので20年前に出たVB6のバージョンアップ版を出したほうがいいと思う

201 :デフォルトの名無しさん:2019/02/06(水) 05:57:36.92 ID:dzTtF137.net
>>200
なんで?

202 :デフォルトの名無しさん:2019/02/06(水) 09:18:34.15 ID:ifDXGzsv.net
>>200
なんで?

203 :デフォルトの名無しさん:2019/02/06(水) 09:50:24.95 ID:5NZNyJzo.net
>>200
VB.NET: アタシのどこがいけなかったの?

204 :デフォルトの名無しさん:2019/02/06(水) 12:43:36.87 ID:yK0c/OTQ.net
>>199
win10のサポート?
具体的にどんなサポート受けられるの?

今までの経験だと、どんな不具合報告しても、なに言っても改善されないのがマイクロソフトだけど。興味あるな。

205 :デフォルトの名無しさん:2019/02/06(水) 12:48:03.59 ID:wygak7fd.net
>>204
.netで不具合報告をしたら速攻でパッチ出してくれたが

206 :デフォルトの名無しさん:2019/02/06(水) 12:48:32.65 ID:yK0c/OTQ.net
>>200
最新版のVB6のIDE用パッチは2016に出てるよ。ぐぐっても古い記事しか出てこないから充ててない人多いよね。

サポート期限ガーとか言ってる奴に限ってvisual studio2008とか使い続けてるんだよな。もうサポート期限切れてるのに。

207 :デフォルトの名無しさん:2019/02/06(水) 12:49:27.47 ID:yK0c/OTQ.net
>>205
へえー、富士通とかマイクロソフトに近い人なのかな?

208 :デフォルトの名無しさん:2019/02/06(水) 12:52:43.30 ID:wygak7fd.net
>>207
不具合が100%再現するコードを送ったら直ぐに直してくれた

209 :デフォルトの名無しさん:2019/02/06(水) 12:53:56.57 ID:yK0c/OTQ.net
>>208
へえー、アメリカに直で?
日本マイクロソフト通してたら即なんてあり得ないのは常識。

210 :デフォルトの名無しさん:2019/02/06(水) 12:59:46.34 ID:yK0c/OTQ.net
ちなみにVC6を未だに現役で使い続けてるところ沢山あるけど、そこにツッコミ入れる人は少ないんだよな。
コンパイラとしても古いけど、やはり枯れて実績が積まれて使い慣れてるから、なかなか手放せない。
VB6も同じだと思うよ。

211 :デフォルトの名無しさん:2019/02/06(水) 13:00:09.38 ID:259i/glJ.net
日本マイクロソフトは営業所みたいなもんだから。
製品作ってる技術者なんかいない。

212 :デフォルトの名無しさん:2019/02/06(水) 13:13:25.78 ID:wygak7fd.net
>>209
日本MSだよ
VSのサポートインシデントを使って
MSがバグと認めたらインシデントは消費しない

213 :デフォルトの名無しさん:2019/02/06(水) 17:56:47.94 ID:yK0c/OTQ.net
>>203
C#も同じだけど、ソースコードばらまくようなものだもん。ILspyみたいなフリーで高機能なのあるんだもん。
変数を分かりにくくする程度の難読化なんて俺から言わせれば無意味。

VB6はネイティブコンパイルできるから、ソースの可逆性がVCと同じくらい難易度高くなる。現にVCの難読化ソフトがないのはそーゆうこと。

214 :デフォルトの名無しさん:2019/02/06(水) 18:25:35.63 ID:emqFOXxP.net
ConfuserEx使えば大丈夫ですわよ?

215 :デフォルトの名無しさん:2019/02/06(水) 18:50:07.27 ID:yK0c/OTQ.net
>>214
分かってないな。
VB.netの文法や関数、クラスを変えることはできない。
外部dllなどを参照している場合、それを誤魔化すことはできない。
従って手間は掛かるけど、難読化なんて簡単に破れる。
なんか、最近だと一部のソースをC++の外部DLLに置き換えてしまう難読化ソフトがあるみたいだけど、本末転倒だと思うよ。

216 :デフォルトの名無しさん:2019/02/06(水) 22:41:48.38 ID:dzTtF137.net
お前らのコードは難読化不要なほど難解だろ

217 :デフォルトの名無しさん:2019/02/07(木) 12:10:48.57 ID:/tmgbETq.net
ActiveX DLLをファイル名だけでActivater.CreateInstanceする方法無いでしょうか?
前ブログで見たことあったと思うんですが
見つからなくて。

218 :デフォルトの名無しさん:2019/02/11(月) 02:10:12.02 ID:Xq8zqNP1h
スレッドはタイムアウトのためにつかった。
有償の通信ライブラリ使ってたがタイムアウト仕込んでない
から、メーカーか出してるプロトコル読んで作った。

ほんとは c++でやりたかったが

219 :デフォルトの名無しさん:2019/02/13(水) 20:54:10.62 ID:e1ucj2Au.net
VB.NETは滅びぬ!何度でも甦るさ!

.NET CoreにVisual BasicのFile IOを追加
https://www.infoq.com/jp/news/2019/02/VB-File-IO-Core

220 :デフォルトの名無しさん:2019/02/13(水) 22:24:41.93 ID:9vYYaAAU.net
要らんことするな

221 :デフォルトの名無しさん:2019/02/18(月) 23:09:48.26 ID:izV4xJWd.net
難読化だって? 先日、大企業のシステムアプリの不具合を報告したら、
「作成した担当者が辞めてしまって・・修正できません。」とか言うからね。
これって、他人のコードが読めないって言われてるのと同じだろ?
可読性wwww

222 :デフォルトの名無しさん:2019/02/19(火) 06:10:45.81 ID:huoX4Tk+.net
>>221
おまえがなおせ

223 :デフォルトの名無しさん:2019/02/20(水) 11:54:28.08 ID:rLBm50YU.net
それ往々にして

×修正できません
○修正したくありません

だから

224 :デフォルトの名無しさん:2019/02/20(水) 12:15:33.38 ID:dJdhvYqy.net
じゃ、修正費用10億円で

225 :デフォルトの名無しさん:2019/02/22(金) 12:19:35.43 ID:moZ6n3ck.net
うわきもっ

226 :デフォルトの名無しさん:2019/02/22(金) 12:34:23.33 ID:AeIyPspu.net
vb.netはクールだけど使ってるやつはキモイしブサイクでスキルがない

227 :デフォルトの名無しさん:2019/03/01(金) 13:59:48.75 ID:WP+oH8uz.net
    / ̄ ̄ ̄ ̄\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   (  人____)<   じゃ、10億円で
   |./  ー◎-◎-)  \______________
   (6     (_ _) )    カタカタカタ
   | .∴ ノ  3 ノ  ______
    ゝ       ノ  .|  | ̄ ̄\ \
   /       \__|  |    | ̄ ̄|
  /  \___      |  |    |__|
  | \      |つ    |__|__/ /
  /     ̄ ̄  | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕
 |       | ̄

228 :デフォルトの名無しさん:2019/03/01(金) 19:53:16.99 ID:osl5wkC+.net
10億円なら受けますよ

229 :デフォルトの名無しさん:2019/03/02(土) 13:59:32.45 ID:WupyvY1Q.net
やっぱキモイ

230 :デフォルトの名無しさん:2019/03/03(日) 08:16:08.23 ID:lBDiiSQm.net
そんな端金では出来ひんで

231 :デフォルトの名無しさん:2019/03/03(日) 09:00:13.95 ID:dbXXzJ29.net
Accessで作った方が速いと言われてしまうのですが、実際どうなんでしょうか

232 :デフォルトの名無しさん:2019/03/03(日) 10:08:50.34 ID:lBDiiSQm.net
>>231
Accessで作った方が速いと言うヤツはAccessの方が早いのだろうけど
.netの方が楽だよね

233 :デフォルトの名無しさん:2019/03/08(金) 19:20:04.14 ID:quBQyQDX.net
>>231
その速いとはすぐに作れるという意味なのか、動作が速いというのかどっちだろう

234 :デフォルトの名無しさん:2019/03/10(日) 00:53:07.03 ID:Xug5O2kK.net
バイナリファイルを編集したいのですが、内容が書き換わりません。
どこが駄目なのでしょうか?

Private Sub btnWrite_Click(sender As Object, e As EventArgs) Handles btnWrite.Click

Using fs As New System.IO.FileStream(SaveFileName, System.IO.FileMode.Open, System.IO.FileAccess.ReadWrite)

Dim ByteArray(fs.Length - 1) As Byte
Dim CharParam() As Byte

fs.Read(ByteArray, 0, ByteArray.Length)

hoge = 100

ReDim CharParam(1)
CharParam(0) = hoge
Buffer.BlockCopy(BitConverter.GetBytes(CharParam(0)), 0, ByteArray, 75, BitConverter.GetBytes(CharParam(0)).Length)

fs.Write(ByteArray, 0, ByteArray.Length)

End Using

Call btnRead_Click(sender, e)

MsgBox("書込完了!!")

End Sub

235 :デフォルトの名無しさん:2019/03/10(日) 01:14:12.25 ID:EyJHBQRt.net
書き換わらないというか末尾に追記されてるよね?
Readした時点で一番最後ポイントしてるからそこでWriteしたら当然末尾に書かれるぞ
Position変更するかSeekするかしないと

236 :デフォルトの名無しさん:2019/03/10(日) 01:33:19.69 ID:Xug5O2kK.net
>>235
ありがとうございます。上手くいきました。

237 :デフォルトの名無しさん:2019/03/12(火) 19:34:31.51 ID:TAliomTW.net
>>233
>>動作が速い
はPCによる

普通は工作作業でしょ

238 :デフォルトの名無しさん:2019/03/12(火) 19:36:34.72 ID:TAliomTW.net
>>219
まあ、そうなるわな
VBプログラマの受け皿として.NET Coreプロジェクトが有効になる

239 :デフォルトの名無しさん:2019/03/12(火) 22:00:03.99 ID:nQMIHFtX.net
form1にcmbSkill0〜cmbSkill12というcomboBoxを配置してForm_Loadに以下のようなソースを書いたのですが
「オブジェクト参照がオブジェクト インスタンスに設定されていません。」というエラーが出ます。

vb6のコントロール配列のような処理がしたいのですが、何が悪いのでしょうか?

' 表示用の列を設定
For i = 0 To 12
CType(Me.Controls("cmbSkill" & i.ToString), ComboBox).DisplayMember = "items"
Next

240 :デフォルトの名無しさん:2019/03/12(火) 22:29:04.82 ID:wfmXoAZE.net
>>239
デザインで貼っても配列にならないからコードで記述

241 :デフォルトの名無しさん:2019/03/12(火) 23:22:19.14 ID:p/ONOfms.net
GroupBox(gpb1)の上にComboBoxを貼り付けていたのが原因でした。
以下のように修正したら上手くいきました。お騒がせいたしました。

For i = 0 To 12
CType(Me.gpb1.Controls("cmbSkill" & i.ToString), ComboBox).DisplayMember = "items"
Next

242 :デフォルトの名無しさん:2019/03/13(水) 22:18:53.03 ID:H4W3SqSw.net
同じ値の入るDataTable(コンボボックス用)を12個用意して値を設定したいのですが
ループ処理でうまく処理する方法はないでしょうか?宜しくお願いします。

Dim dsskill1_0 As New DataTable
Dim dsskill1_1 As New DataTable

Dim dsskill1_12 As New DataTable

dsskill1_1.Columns.Add("items", GetType(String))
dsskill1_1.Columns.Add("key", GetType(Integer))
row = dsskill1_1.NewRow
row("items") = "なし"
row("key") = 0
dsskill1_1.Rows.Add(row)
row = dsskill1_1.NewRow
row("items") = "LV1"
row("key") = 1
dsskill1_1.Rows.Add(row)

dsskill1_2.Columns.Add("items", GetType(String))
dsskill1_2.Columns.Add("key", GetType(Integer))
row = dsskill1_2.NewRow
row("items") = "なし"
row("key") = 0
dsskill1_2.Rows.Add(row)
row = dsskill1_2.NewRow
row("items") = "LV1"
row("key") = 1
dsskill1_2.Rows.Add(row)

243 :デフォルトの名無しさん:2019/03/14(木) 10:00:44.07 ID:UTzF5k1f.net
全部同じならCopy()でいいじゃん

244 :デフォルトの名無しさん:2019/03/14(木) 10:04:05.65 ID:HIuTGTUE.net
同じデータなら同じデータソースを使えば良いだけでは?

245 :デフォルトの名無しさん:2019/03/14(木) 22:55:57.19 ID:hVHukwdE.net
>>244
同じデータソースを設定したら、comboboxにselectedValueで設定するときに
combobox1-12全部同じ値が挿入されちゃいました。

246 :デフォルトの名無しさん:2019/03/15(金) 08:38:00.32 ID:G4fmj6rk.net
>>245
そうなるんだw
>>243 の言うようにコピーでしょ。
DataTableの作成のオーバーヘッドが小さいのなら、その都度作成してデータソースに入れるけど。

247 :デフォルトの名無しさん:2019/03/15(金) 11:28:40.12 ID:9KYAnn5X.net
DataViewつかえよ

248 :デフォルトの名無しさん:2019/03/15(金) 12:19:43.79 ID:K2+pazAC.net
comboboxに紐つけるデータソースにdatatableは重すぎる

249 :デフォルトの名無しさん:2019/03/15(金) 19:28:26.67 ID:N+PfBtn+.net
>>243-248
Copy()でいけました。
皆様アドバイスありがとうございました。

250 :デフォルトの名無しさん:2019/04/10(水) 19:45:12.03 ID:3k/2grcJ.net
For Each c As DataGridViewColumn In .DataGridView1.Columns
 c.SortMode = DataGridViewColumnSortMode.NotSortable
Next

このコードをLINQを駆使して1行で書けるのでしょうか?

251 :デフォルトの名無しさん:2019/04/10(水) 20:37:28.62 ID:GrAOtSj+.net
基本的にLINQは更新系には使わないので
CastしてToListしてForEachでできなくもないけど無意味だな

214 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★