[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2ch.scのread.cgiへ]
Update time : 08/10 07:02 / Filesize : 226 KB / Number-of Response : 843
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

古代VBプログラマ質問スレ(Ver.6.0 まで) part65



1 名前:デフォルトの名無しさん mailto:sage [2015/08/30(日) 19:25:35.12 ID:ZYoWCo0d.net]
ここは古代に使われていたVisual Basic 〜6.0 の質問スレです。
質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。

VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。

○ 質問者の心得
 一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。
 二.VBScript、インストーラーなどはこのスレでOK。
 三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
 四.荒らしは相手しない。

○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。無理するな。
 二.代用法を強制しない。
 三.回答する上で必須ではない情報をむやみに聞き返さない。
 四.荒らしは相手しない。
 五.VB情報募集中。
 六.回答は質問者が理解できるよう具体的に。

MSDN Online Japan ホーム
 www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6
 msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
Google
 www.google.co.jp/

前スレ VBプログラマ質問スレ(Ver.6.0 まで) part64
peace.2ch.net/test/read.cgi/tech/1393069842/

※「まず自分で調べる」クセを身につけよう。

237 名前:デフォルトの名無しさん [2015/11/29(日) 18:02:30.56 ID:SlphFEdz.net]
古代VB

そういえば、どこに消えちまったんだよ

238 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 18:23:12.21 ID:KrqWIN7R.net]
イスカンダル辺りじゃないかな?

239 名前:デフォルトの名無しさん mailto:sage [2015/11/30(月) 10:13:29.53 ID:aCIh3523.net]
>>237
XP以降、VB6のランタイムはWindowsに包含されているから
EXE配布だけで実行させられるんで意外に重宝してる。
日本語表示させるためにはVBJP.dllとかが必要になるんで面倒だけど

240 名前:デフォルトの名無しさん mailto:sage [2015/11/30(月) 21:32:54.48 ID:V9s4KAVu.net]
>>233
馬鹿が集まっているスレだからという方が10000万倍説得力があるわ

241 名前:デフォルトの名無しさん mailto:sage [2015/12/01(火) 08:25:38.23 ID:9p6YUp2c.net]
いちまんまん

なるほど、馬鹿の集まりだわ。

242 名前:デフォルトの名無しさん mailto:sage [2015/12/01(火) 11:10:56.04 ID:Ai+9i+vY.net]
馬鹿に遠吠えする馬鹿はさらに恥ずかしい

243 名前:デフォルトの名無しさん [2015/12/07(月) 11:18:05.72 ID:f02lpWL1.net]
VB6の後継かどうか知らんがVBAを拡張する計画があるみたいね

Excelユーザーに感謝せんとな

244 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 12:37:38.32 ID:uKCX4Zid.net]
やっとか…

245 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 17:24:03.74 ID:7ldc1+VM.net]
VBAが拡張されるとしたら、おそらくECMAScriptの最新機能を
取り込んでくるだろうな。



246 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 17:12:10.10 ID:QxmgGgsj.net]
Roslynでやるんじゃねーの?

247 名前:デフォルトの名無しさん [2015/12/08(火) 23:32:19.35 ID:RI/35RNi.net]
何の因果か未経験からVB6でのシステム保守に携わっています。
川口輝久の「Visual basic6 基礎編」は持ってるのですが
何とか理解できるようになったので
生産性向上のため見るべきサイトや本などが
あればお願いします。
漠然とした質問で申し訳ないですが
よろしくお願いします

248 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 23:47:56.47 ID:nzVvVETE.net]
まず知識より挫けない強い心が必要

249 名前:デフォルトの名無しさん mailto:sage [2015/12/09(水) 08:08:43.71 ID:6RFm+bN4.net]
>>247
できるだけ他言語の新しい知識には接しないことだな。
VB6がクソに思えてしまう。

250 名前:デフォルトの名無しさん mailto:sage [2015/12/09(水) 18:08:39.82 ID:QAlRgC9p.net]
Fowlerのリファクタリングなんて良いんじゃないかな
VB6の場合いかにして手に負えないレガシーの塊を解きほぐすかって方針で勉強したほうが役に立つだろう
この方針なら他の言語に移った時にも学んだ事は無駄にならない
方向を誤ってVB6マスターを目指しちゃうと将来的に有意義な経験がなにも残らない

251 名前:デフォルトの名無しさん mailto:sage [2015/12/09(水) 18:29:23.88 ID:h+7RpR46.net]
CODE COMPLETE読め

252 名前:デフォルトの名無しさん [2015/12/09(水) 18:49:10.78 ID:jSWKuhmJ.net]
今VBってどこで使われてるの?

253 名前:デフォルトの名無しさん mailto:sage [2015/12/09(水) 19:47:06.70 ID:FWzMSQ9Q.net]
>>247の会社

254 名前:デフォルトの名無しさん mailto:sage [2015/12/09(水) 21:11:05.73 ID:mLmT+X7L.net]
>>250
VB6でテスト用意してリファクタリングするのは恐ろしく時間の無駄になる予感がするんだが・・・

255 名前:247 [2015/12/09(水) 23:34:53.11 ID:qYQrOutA.net]
みなさんありがとうございます。
開発といいましても既存の画面の修正からなのでリファクタリングというのをやってきます



256 名前:デフォルトの名無しさん mailto:sage [2015/12/10(木) 00:25:18.37 ID:ydUpcr2T.net]
日本の会社はリファクタリングにお金なんて出さないから注意な

257 名前:デフォルトの名無しさん mailto:sage [2015/12/10(木) 01:10:19.39 ID:Ti4G586p.net]
リファクタリングっていうのは解析作業の一種で、
複雑になってしまったコードを解析して
その結果を反映させること。

リファクタリングに金を出さないという話であれば、
複雑になったコードを解析するのにも金を出さないって話だぞ。
そのとおりだが。


解析して、コードは修正せずに、バグと戦って、次回も解析するか、
解析して、コードを修正して、バグなく楽に修正、次回も楽になるか
の違いだ。

258 名前:デフォルトの名無しさん mailto:sage [2015/12/10(木) 03:05:39.55 ID:lzUGhUsU.net]
質問させてください。
Windows7 pro 32bitにVB6.0Professionalを入れました。
これに適用するべき、MSが配布している更新ファイルを調べてみたのですが、

Vs6sp6B.exe
VB6.0-KB290887-X86.exe(=vbrun60sp6.exe)
VB60SP6-KB2708437-x86-JPN.msi

この3つ以外にもありますでしょうか?

259 名前:デフォルトの名無しさん mailto:sage [2015/12/10(木) 03:38:51.66 ID:2HBLgQQO.net]
俺もそういう更新ファイルとか分からんから適当に入れた

pastebin.com/sSPzxYHt
リストアップしてみた(関係ないのもあるけど)

260 名前:デフォルトの名無しさん [2015/12/10(木) 18:54:33.37 ID:E5kFv3hh.net]
>>247
解析ツール買ってもらえ

261 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 07:04:04.42 ID:sydzYF+G.net]
お前ら教えろください

同じフォーム内にあるメソッドから〜_Clickみたいなイベントを呼び出すのってアリですか?

直感的にダメな気がするんですが、なぜダメなのか説明出来ません

どちらにしても誰か理由を説明出来る人いますか?
教えてエロい人

262 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 08:29:46.42 ID:uOwfskUE.net]
だめな理由などなにもない

263 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 08:37:20.53 ID:x/tmQiPi.net]
同意

264 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 08:53:20.67 ID:u1XVE+8e.net]
直感的でダメって、お前の尺度で全て決まるんかいw

265 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 08:57:09.06 ID:1J//Ejqv.net]
イベントが発生してないのにイベントハンドラが実行されたら困惑するだろう
平日にハロウィンコスプレするようなもんだ



266 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 09:05:05.07 ID:x/tmQiPi.net]
どーせイベントの内容をコピペしたメソッド作ってそっちを呼ぶんだろ?
それなら最初からイベント呼んでおけ

267 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 09:15:49.02 ID:qHZwrA+M.net]
VB屋はこれだから嫌だね

268 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 09:58:01.96 ID:RFBkejq5.net]
普通はイベントの中身をメソッドにして、両方共其のメソッドを呼ぶように作るものだな

269 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 10:28:41.26 ID:z9XcLK7w.net]
>>267
> VB屋はこれだから嫌だね

どれのこと?
わざとらしいアンチぐらい
見分けようよw

270 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 10:42:52.95 ID:z9XcLK7w.net]
>>261
> 同じフォーム内にあるメソッドから〜_Clickみたいなイベントを呼び出すのってアリですか?
なし

> 直感的にダメな気がするんですが、なぜダメなのか説明出来ません
その直感は正しいよ。理由はいくつか有る。

まず、一般的にフォームというのはユーザーの入力と処理を結びつけるためにある。
結びつけるだけなのでなるべくフォームに処理は書かない。
処理はフォームとは別に(ビジネスロジック用の)クラスに分離する。
このクラスはフォーム関連コードは一切ない。これにより自動テストがしやすくなる。
このように分離するので、二つのイベントハンドラから、共通のクラスのメソッドを呼び出すので
_Clickを直接呼び出すことはない。

これが大きな理由では有るんだが、クラスを使うほどじゃない場合でも
処理はprivateメソッドに書いて、内部的には処理と結びつけるコードは分離させておいたほうがいい。

それから、もう少しわかりやすい理由として、依存関係の話がある。
_Clickというのは、ボタンだったりするわけだが、そのボタンの存在に処理が依存しているのか?ということ。
通常はボタンには依存していないだろう。仮にボタンをなくしたとしても、処理の内容は変わらないだろう?
だが、_Clickを呼ぶと処理の中にそのボタンが紛れ込んでしまってるわけだ。こういうふうに
余計なものが混ざるとUIを変更した時の影響範囲が大きくなる。

どちらにも共通することは、その責任が明確に分離されていること。単一責任の原則とも言われている。
自分の担当範囲の処理だけを行うことで、それぞれの処理がシンプルになる。
絡み合わせる必要が無いものを、絡み合わせてはいけない。

271 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 12:14:45.33 ID:l7b7OwtU.net]
>>261
お前さんの直感は正しくて基本的には良いことじゃないけど、まあ程度問題ではある。

良いことじゃない理由は、メソッドの名前と実態が乖離するから。
(ボタンがクリックされた時に呼ばれるはずのメソッドが、それ以外の時にも呼ばれることになる)

これは、「イベントハンドラが呼ばれるのはイベントが発生した時だけだ」という前提でコードを読んでいる
プログラマの期待を裏切ることになる。

程度問題なのは、そうは言っても十分短いコードなら上記の前提が正しくないことに
プログラマは気づくことができる。

272 名前:266 [2015/12/11(金) 22:45:13.70 ID:qRgP3PMO.net]
>>269
わざとらしいアンチって俺の事?

273 名前:デフォルトの名無しさん [2015/12/15(火) 16:46:05.07 ID:Ac3Besor.net]
せめてインターフェース継承くらい深い議題でないと盛り上がらんな

274 名前:デフォルトの名無しさん [2015/12/17(木) 21:22:44.70 ID:AyksyXNq.net]
ああ、また来てほしいな。ああいう変な奴。

275 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 21:21:31.76 ID:5nmp/yEA.net]
VB6からVB.NETへの移植を体系的にまとめた本は有りませんか?
最悪VBではなく他の言語でも構いません
別言語への移植に関する情報が欲しいのです



276 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 21:33:33.29 ID:vxsX5S48.net]
>>275
あるわけないでしょ
www.microsoft.com/ja-jp/dev/vbrun/default.aspx

277 名前:デフォルトの名無しさん [2015/12/25(金) 22:06:13.40 ID:p59n9EPz.net]
>>275
移植元、移植先の両言語をちゃんと理解すれば移植は簡単だろう

278 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 02:14:39.47 ID:H3roELL7.net]
>>275
新しくはないけど
www.amazon.co.jp/gp/product/4798102164/ref=s9_simh_bw_p14_d0_i1?pf_rd_m=AN1VRQENFRJN5&pf_rd_s=merchandised-search-4&pf_rd_r=1RM0Y8MGQP2Y6H6E51H9&pf_rd_t=101&pf_rd_p=204601349&pf_rd_i=465392 👀
Rock54: Caution(BBR-MD5:60fb6bd37e268099e6257349e1247e68)


279 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 19:01:46.35 ID:ZvUlOdya.net]
sage

280 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 22:53:19.86 ID:JzOblLuB.net]
windows8.1をupdateしたらIDEが使えなくなった
xp 7 10では大丈夫なのに

281 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 02:25:17.13 ID:D+zYtfMV.net]
仮想マシンで飼えばいいんじゃね?

282 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 17:52:56.18 ID:Hprl/h5W.net]
Visual Basic 6.0 が扱えるスレッドについて質問させてください。
私はVB6.0で作られた業務アプリのユーザーです。
プログラミングはかじった程度ですが、訳あってこの周辺を調べています。

第4回 Background Workerで夢のマルチスレッドがついに!
ttp://www.atmarkit.co.jp/fdotnet/vb2005/vb2005_04/vb2005_04_01.html
を読むと、「VB6.0まではスレッドが使えなかった」と書いてあります。

Visual Basic .NET におけるコンポーネント作成の変更点
ttps://msdn.microsoft.com/ja-jp/library/cc437477(v=vs.71).aspx
を読むと、ActiveX に関してはスレッドが使える、旨の記載があります。

これは、「GUIコントロールに関してのみ」スレッドが使えるという解釈で良いのでしょうか?
よろしくお願いします。

283 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 18:04:42.84 ID:LOW6VHMu.net]
>>282
> これは、「GUIコントロールに関してのみ」スレッドが使えるという解釈で良いのでしょうか?
主語は?

あとt抜きとかやめろ

284 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 00:20:36.17 ID:enD+OwOV.net]
tは抜いていないと思うんだが

285 名前:283 mailto:sage [2016/01/06(水) 08:22:15.82 ID:OZFZrV2d.net]
>>



286 名前:282 mailto:sage [2016/01/06(水) 08:30:51.56 ID:OZFZrV2d.net]
操作ミス失礼。

>>283
「Visual Basic 6.0 でアプリケーションを組んだ場合、GUIコントロールでのみスレッドが扱える」
という理解で良いかどうか、ということになります。
逆に言えば、
「画面の無いコマンド(VB6.0で作れるかは分かりません)を作る場合、スレッドを使った処理を実装できない」
という理解で良いかどうか、ということになります。

287 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 11:41:01.45 ID:vwgrq8uH.net]
>>286
一体何が知りたくて質問してるのかしらないが、>>282で自分で答え書いてるじゃん。
「GUIコントロールでスレッドが使える」とか意味わからんし。

・VB6ではスレッドは使えない
・VB .NET以降は使える

288 名前:282 mailto:sage [2016/01/06(水) 12:52:44.59 ID:OZFZrV2d.net]
>>287
ありがとうございました。
すみません、ActiveX.exe、ActiveX.dll が良く分からなかったので「GUIコントロール」という書き方をしてしまいました。

A Thread to Visual Basic: Multi-Threading In VB5 and VB6
www.freevbcode.com/ShowCode.asp?ID=1287

この文献に行き着いたので時間をかけて読んでみます。

289 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 14:04:10.34 ID:vwgrq8uH.net]
>>288
日本語より英語の方が堪能とかじゃないなら、「VB6 ActiveX DLL」とかで検索した
日本語ページ読んだ方がいいんじゃないの?

290 名前:282 mailto:sage [2016/01/06(水) 16:18:49.26 ID:OZFZrV2d.net]
>>289
ありがとうございます。調べてみます。

291 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 18:54:23.27 ID:lZN6Bb9n.net]
ActiveX.EXEて非同期で動くんでそ?

292 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 21:13:44.20 ID:E3v3yltJ.net]
VB6でスレッドとか変態的だからメンテの関係でやめたほうがいいんでない

293 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 23:20:20.15 ID:mlVo0bjp.net]
素人質問で申し訳ありませんが、昨今においてWin7にVB6で組んで納品、という形態は存在するのでしょうか?

294 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 01:08:47.02 ID:k+qX9IQq.net]
しません

295 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 03:59:59.40 ID:K6WPLAtH.net]
>>286
ActiveXオブジェクトはVB以外でも作成できる
VB6ではマルチスレッドはサポートされてない
(API呼び出しで無理やりやる方法もあるけど、問題になる事もある)
これが全て。GUIとか何とか関係ない

>>291
たしかに非同期で動くけど、それ別EXEだからマルチスレッドじゃなくて別プロセスじゃね



296 名前:291 mailto:sage [2016/01/07(木) 08:36:17.81 ID:kym8hbuE.net]
>>295
やっぱそういうことですよねm(_ _)m

297 名前:282 mailto:sage [2016/01/07(木) 15:30:23.13 ID:2ezK4vEQ.net]
やっと分かりました!

1. Visual Basic 6.0 で作成する「アプリケーション」ではスレッドは使えない。

2. Visual Basic 6.0 の開発環境では、「再利用可能コンポーネント」として ActiveX(≒COM)コンポーネントが作れる
 このコンポーネントではスレッドが使用可能。
 ただし、ActiveX は単独では動作できない。他から呼ばれる専用。

ということだったんですね…。
ありがとうございました。

298 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 17:44:14.19 ID:bnxi5i1z.net]
>>297
つか、やりたいのは「スレッドを使う」ではなくて、非同期処理をしたいんじゃないの?
だったら、スレッドは不要。

299 名前:デフォルトの名無しさん [2016/05/01(日) 11:17:00.72 ID:tKi6j9CT.net]
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません


300 名前:デフォルトの名無しさん [2016/05/14(土) 16:45:37.18 ID:0X6SbCZx.net]
Dim a As Date

a = CDate("2016/5/14")
とか
a = DateSerial(2016, 5, 14)
で日付のみ入った状態に、後から時刻を設定するにはどうしたらいいでしょうか

DateAdd("s", h*3600 + m*60 + s, a)
だと、時刻を文字列に持っていた場合はちょっと面倒

301 名前:デフォルトの名無しさん mailto:sage [2016/05/14(土) 20:44:36.47 ID:lbKSQeRL.net]
>>300
こんなのでいいんだろうか
a = CDate(Format(a, "yyyy/mm/dd") & " 16:45:37")

302 名前:デフォルトの名無しさん [2016/05/15(日) 00:17:47.00 ID:9iZwHJOb.net]
>>301
ありがとうございます
こんなのでいけてしまいました
Dim a As Date
a = CDate("2016/1/2")
a = a & " 12:34:56"

303 名前:デフォルトの名無しさん mailto:sage [2016/05/19(木) 17:45:06.50 ID:t2yMcpW4.net]
Windows10 64bitで昔作ったソフトを動かしてみたところ
入力系コントロール→他コントロール (テキストボックス→その他)のフォーカス移動がものすごく遅いことに気付いたんですが
原因わかりますか?

テキストボックAに「123」と入力、入力直後にテキストボックBをクリックしても1〜2秒フォーカスが移動しない。
グリッドでも同様(同一グリッド内の別セルや別グリッド)

304 名前:デフォルトの名無しさん mailto:sage [2016/05/19(木) 18:53:48.78 ID:bO7Q53f5.net]
vb.netを使わない理由は?

305 名前:デフォルトの名無しさん mailto:sage [2016/05/20(金) 07:45:18.75 ID:xzzUF2zr.net]
>>304
パソコンだけリプレースなので。



306 名前:デフォルトの名無しさん mailto:sage [2016/05/21(土) 14:20:22.27 ID:53HOv8Mc.net]
VBさん25歳の誕生日おめでとう
https://blogs.msdn.microsoft.com/dotnet/2016/05/20/happy-25th-birthday-vb/

307 名前:デフォルトの名無しさん [2016/06/07(火) 22:57:53.12 ID:fcyHNQmx.net]
VBももうそんな歳かぁ

308 名前:sage [2016/06/07(火) 23:24:32.13 ID:Ap8KFN02.net]
https://www.youtube.com/watch?v=SDaMdk0VWV4

309 名前:デフォルトの名無しさん [2016/06/30(木) 09:57:06.03 ID:j4y3K9f+.net]
>>303
当方ではそんな現象でないですけど

310 名前:デフォルトの名無しさん [2016/09/07(水) 04:03:07.30 ID:5oBV5n5N.net]
ドラッグ&ドロップして、パスなしのファイル名だけ取得するにはどうしたらよい?
↓だとフルパスで取得してしまう

Private Sub TextBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragEnter

'ドラッグされている内容が文字列型に変換可能な場合
If e.Data.GetDataPresent(DataFormats.FileDrop) Then
'コピーを許可するようにドラッグ元に通知する
e.Effect = DragDropEffects.Copy
End If

End Sub

Private Sub TextBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragDrop

'ドロップされた内容を表示する
TextBox1.Text = e.Data.GetData(DataFormats.FileDrop)(0)

End Sub

311 名前:デフォルトの名無しさん mailto:sage [2016/09/07(水) 05:33:42.80 ID:8+k+fXBx.net]
>>310

フルパスからファイル名抜き出すってのじゃいかんの?

312 名前:デフォルトの名無しさん [2016/09/07(水) 05:46:01.84 ID:5oBV5n5N.net]
円マークで分割して最後を取得みたいに?
最悪それでもいいんだけどVBさんならちょっとしたオプションで出来るかなと思って

313 名前:デフォルトの名無しさん mailto:sage [2016/09/07(水) 07:01:23.61 ID:5oBV5n5N.net]
>>311
探しても見つからなかったから分割してやった。レスありがとう

314 名前:デフォルトの名無しさん mailto:sage [2016/09/17(土) 08:55:04.29 ID:ORvkGosz.net]
fso.GetFileName(フルパス)

315 名前:デフォルトの名無しさん mailto:sage [2016/10/05(水) 18:51:53.10 ID:CThI016C.net]
プログラム保存し忘れたんだけど復活させる方法ありますか?
ソースファイル単位では保存してます



316 名前:デフォルトの名無しさん mailto:sage [2016/10/05(水) 21:44:36.40 ID:JiyI3+0P.net]
ありますん

317 名前:デフォルトの名無しさん mailto:sage [2016/10/13(木) 17:49:35.76 ID:Xl1X+Pbm.net]
>>295
マルチスレッドと別プロセスって実際どんだけ違うものなのかな?

318 名前:デフォルトの名無しさん mailto:sage [2016/10/13(木) 20:57:13.55 ID:iSzZT/Mz.net]
>>317
プロセスが別=メモリ空間が別,別プロセスになると切り替えにコストが多く発生する

319 名前:デフォルトの名無しさん mailto:sage [2016/10/16(日) 17:22:47.11 ID:dK/+e+o+.net]
プロセス単位だとリソースをいくらリークさせても終わった時点でOSが面倒見てくれる
スレッドは自分で管理しないとプロセスが生きてる限りリークし放題
Excel VBAでしょーもない再起動が必要になったりするのはそれが原因

320 名前:デフォルトの名無しさん [2016/10/18(火) 09:13:44.98 ID:avoYV2sG.net]
PNGを表示するのに明熊さんのTransG32.dllを使ってる人いる?
4000ピクセル四方程度のPNGは開けたりクラッシュしたり
どういう条件だとクラッシュするのか、
PNGの幅x高さの値と関係するのか調べても境界がはっきりしない
じゃあファイルのバイトサイズかなぁとログをとって気長に調べているのだけど
何か知ってる人はいますか

321 名前:デフォルトの名無しさん [2016/10/18(火) 09:19:02.67 ID:avoYV2sG.net]
ああそうだ、開けるPNGファイルを
メモリの少ないPCでも開けるかやってみればいいか

322 名前:デフォルトの名無しさん mailto:sage [2016/10/18(火) 21:27:37.76 ID:mFczHo3i.net]
すいません、
VB6の頃のopen文だっけ?に比べてVB.netやC#のファイル操作は遅くて
別のものを使うとVB6より速くなるみたいな
そんな記事をかなり昔みた記憶をふと思い出してググってみたのですが、その記事が見つかりませんでした。

どなたかこれの内容って覚えていませんか?

323 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 20:14:13.91 ID:P4wVU5YC.net]
誘導されてきました。
質問させてください。以下の現象が解決できず悩んでいます。
何か思い当たる解決方法をご存知の方がいれば、情報提供をお願いします。

■開発言語 : VB6.0(SP6だったと思う)
■プラットフォーム : Windows10(64bit)
■互換モード : Windows2000
■現象 : 「CommonDialog.ShowOpen」時にエラーが発生
■エラー内容 :
Microsoft Visual C++ Runtime Library
Runtime Error!
Program:xxxx\xxxx.exe
abnormal program termination

Windows8.1(64bit)では問題なく動作します。
互換モードをWindows2000以外にした場合、Windows10(64bit)でも問題なく動作します。
コモンダイアログはファイルを開く目的で実装しており、エラーが発生してもダイアログ自体は表示されます。
エラーを無視すればファイルの選択を行うことも可能で後続の処理も問題なく動作します。

以下のことは試したのですが、効果がありませんでした。
・「VB6Runtime」の最新化
・正常に動作する環境(Win8.1等)の「COMDLG32.OCX」を適用
・「VC++Runtime 2005〜2015」のインストール

以上、よろしくお願いします。

324 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 08:25:59.61 ID:npWu0z6D.net]
Win2000互換に拘る理由

325 名前:デフォルトの名無しさん mailto:sage [2016/11/23(水) 03:56:20.37 ID:xKXFPlfV.net]
>>324
件のプロセスをキックする親プロセスがいるのですが、
親プロセスがWindows2000互換で動作しているため、引きずられてWindows2000互換で動作してしまいます。

親プロセスの互換モードを変えれば、エラーは発生しないのですが、この親プロセスからは
他に300近いプロセスをキックしているため、変更した互換モードで他のプロセスの動作検証を行う必要が出てきます。

それは避けたいため、Windows2000互換のままでも解決できる方法を探している状況です。



326 名前:デフォルトの名無しさん mailto:sage [2016/12/05(月) 03:32:50.56 ID:cV+XaugA.net]
子プロセスの互換モードって絶対親と同じじゃないとダメなんだっけ?
互換性データベースとかいじれば何とかならんのかな

327 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 19:10:41.50 ID:R0LDy8hm.net]
>>323
本件については、質問してから時間が経ってしまったこともあり
工期の問題もあったため、2003SV互換ですべて検証し直しました。

Win7(64bit)なんかではWScript.Runで呼び出すことで子プロセスに設定された互換モードで動かせていたみたいです。
Win10ではそれも効かなくなっているみたいですが。

>>326
色々調べた中で互換性データベースについては初めて目にしました。調べてみます。

328 名前:デフォルトの名無しさん mailto:sage [2016/12/17(土) 08:36:14.70 ID:jn0zESOo.net]
整数型はLongを扱うプロパティが大部分なのとループも4バイト整数が効率的なはずなのに、
他人の書いたコードは大部分がIntegerです。この型を選ぶ理由を教えてください。

329 名前:デフォルトの名無しさん mailto:sage [2016/12/17(土) 16:05:02.16 ID:5fyjnhAT.net]
>>328
強いて言うなら、範囲制限。

330 名前:デフォルトの名無しさん [2016/12/19(月) 00:51:52.04 ID:OTfESfoA.net]
>>328
大昔のBASICにlong型がなかったから
当時の人材が今でも活躍してるんで。

331 名前:デフォルトの名無しさん [2016/12/26(月) 08:04:16.12 ID:Nfyo2sWs.net]
コモンダイアログは使っちゃだめだよね
将来的に使えなくなる可能性があるからAPIで書いておかないと
という話の「将来」が今田

332 名前:デフォルトの名無しさん mailto:sage [2016/12/26(月) 21:50:52.20 ID:Rlq9+0td.net]
将来的にVBは産廃になるから移行しやすいようにレイヤー分割しとけよ
という話が教会に異端認定されて迫害されたから今苦労してるんだよね

333 名前:デフォルトの名無しさん [2017/01/29(日) 11:01:58.46 ID:kKew+rKl.net]
質問させてください。
VB初心者です。(普段はもっと古代言語を使用しています)

環境:windows7,office2010,vb6,activereports2.0j

VBのフォームにOLEを配置してEXCELを表示し、
ボタンを押すと、doverbメソッドが実行されてそのEXCELを編集出来るというプログラムがあります。
開発環境では問題無く動いたのですが、
実行環境で編集ボタンを押すと、押した時にはEXCELがアクティブになるのですが、
すぐにフォームのほうがアクティブになってしまい、EXCELを編集出来ません。
何度EXCELのほうにマウスを当てても戻ってしまいます。
環境かな?と思うのですが、何が原因なのか検討もつきません。
どなたか、何か思いつくことがあれば教えていただけないでしょうか?
よろしくお願いします。

334 名前:333 [2017/01/29(日) 11:36:27.70 ID:kKew+rKl.net]
timerイベントで以下の処理を行っているのが原因でした。
If Me.Enabled = True Then
Me.SetFocus
End If
根本的な原因では無さそうな気がしますが、
特に問題もないようなのでこの処理を削除しました。

335 名前:デフォルトの名無しさん [2017/05/02(火) 07:16:38.64 ID:8sTtya12.net]
それはよかたですね



336 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 09:27:02.42 ID:JeNBh43P.net]
XPか7以降だったか
プロセスやスレッド間をまたがるフォーカス移動の挙動は仕様が変わってるから
SetFocusだけでは意図通り動かないと思う
説明がめんどくさいので解決したならいいけど

337 名前:デフォルトの名無しさん mailto:sage [2017/12/16(土) 16:36:17.31 ID:xYtnwf8P.net]
まだVB.NETスレとパート数20くらい差があるのはすごい






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<226KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef