1read 100read
2013年03月プログラム57: VBプログラマ質問スレ(Ver.6.0 まで) part62 (313) TOP カテ一覧 スレ一覧 2ch元 削除依頼
iモード携帯電話用Java(iアプリ) Part22 (893)
【普通のやつらの】 Arc Language 0 【上を行け】 (258)
【汚物】痛い変数名・関数名【破廉恥】 (739)
暇だから最強のメモ帳つくらね?【java】 (742)
【普通のやつらの】 Arc Language 0 【上を行け】 (258)
人工知能を作ろうver0.0.7 (584)

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


1 :2013/02/15 〜 最終レス :2013/03/09
ここは Visual Basic 〜6.0 の質問スレです。
質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。
VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。
○ 質問者の心得
 一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。
 二.VBScript、インストーラーなどはこのスレでOK。
 三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
 四.荒らしは相手しない。
○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。無理するな。
 二.代用法を強制しない。
 三.回答する上で必須ではない情報をむやみに聞き返さない。
 四.荒らしは相手しない。
 五.VB情報募集中。
 六.回答は質問者が理解できるよう具体的に。
MSDN Online Japan ホーム
 http://www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6
 http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
Google
 http://www.google.co.jp/
前スレ VBプログラマ質問スレ(Ver.6.0 まで) part61
http://toro.2ch.net/test/read.cgi/tech/1359721249/
※「まず自分で調べる」クセを身につけよう。

2 :
Part 1 http://piza2.2ch.net/tech/kako/968/968328471.html
Part 2 http://piza2.2ch.net/tech/kako/990/990793224.html
Part 3 http://piza2.2ch.net/tech/kako/1000/10005/1000523122.html
Part 4 http://pc.2ch.net/tech/kako/1006/10069/1006922992.html
Part 5 http://pc.2ch.net/tech/kako/1010/10106/1010624646.html
Part 6 http://pc.2ch.net/tech/kako/1013/10138/1013844542.html
Part 7 http://pc.2ch.net/tech/kako/1015/10158/1015836357.html
Part 8 http://pc.2ch.net/tech/kako/1018/10187/1018794901.html
Part 9 http://pc.2ch.net/tech/kako/1020/10208/1020830472.html
Part10 http://pc.2ch.net/tech/kako/1022/10221/1022127528.html
Part11 http://pc.2ch.net/tech/kako/1024/10243/1024380249.html
Part12 http://pc3.2ch.net/tech/kako/1026/10266/1026642565.html
Part13 http://pc3.2ch.net/tech/kako/1029/10292/1029241786.html
Part14 http://pc3.2ch.net/tech/kako/1030/10309/1030947162.html
Part15 http://pc3.2ch.net/tech/kako/1032/10327/1032706491.html
Part16 http://pc3.2ch.net/tech/kako/1034/10343/1034302532.html
Part17 http://pc3.2ch.net/tech/kako/1036/10361/1036154952.html
Part18 http://pc3.2ch.net/tech/kako/1038/10381/1038103769.html
Part19 http://pc3.2ch.net/tech/kako/1039/10398/1039859691.html
Part20 http://pc2.2ch.net/tech/kako/1041/10418/1041879465.html
Part21 http://pc2.2ch.net/tech/kako/1044/10440/1044028945.html
Part22 http://pc2.2ch.net/tech/kako/1046/10463/1046354784.html
Part23 http://pc2.2ch.net/tech/kako/1047/10477/1047743187.html
Part24 http://pc2.2ch.net/tech/kako/1050/10501/1050151126.html
Part25 http://pc2.2ch.net/tech/kako/1052/10526/1052627913.html
Part26 http://pc2.2ch.net/tech/kako/1055/10551/1055145106.html
Part27 http://pc2.2ch.net/tech/kako/1058/10586/1058674927.html
Part28 http://pc2.2ch.net/tech/kako/1061/10612/1061296197.html
Part29 http://pc2.2ch.net/tech/kako/1065/10654/1065446334.html

3 :
Part30 http://pc2.2ch.net/test/read.cgi/tech/1069160036/
Part31 http://pc2.2ch.net/test/read.cgi/tech/1073732636/
Part32 http://pc5.2ch.net/test/read.cgi/tech/1077216109/
Part33 http://pc5.2ch.net/test/read.cgi/tech/1080606445/
Part34 http://pc5.2ch.net/test/read.cgi/tech/1084544243/
Part35 http://pc5.2ch.net/test/read.cgi/tech/1087519251/
Part36 http://pc5.2ch.net/test/read.cgi/tech/1092906058/
Part37 http://pc5.2ch.net/test/read.cgi/tech/1090286450/
Part38 http://pc5.2ch.net/test/read.cgi/tech/1095673000/
Part39 http://pc5.2ch.net/test/read.cgi/tech/1099737063/
Part40 http://pc5.2ch.net/test/read.cgi/tech/1106748775/
Part41 http://pc8.2ch.net/test/read.cgi/tech/1112414085/
Part42 http://pc8.2ch.net/test/read.cgi/tech/1116924129/
Part43 http://pc8.2ch.net/test/read.cgi/tech/1123952677/
Part44 http://pc8.2ch.net/test/read.cgi/tech/1130231657/
Part45 http://pc8.2ch.net/test/read.cgi/tech/1133977286/
Part46 http://pc8.2ch.net/test/read.cgi/tech/1138975113/
Part47 http://pc8.2ch.net/test/read.cgi/tech/1141320612/
Part48 http://pc8.2ch.net/test/read.cgi/tech/1146678926/
Part49 http://pc8.2ch.net/test/read.cgi/tech/1152667953/
Part50 http://pc10.2ch.net/test/read.cgi/tech/1161517193/
Part51 http://pc11.2ch.net/test/read.cgi/tech/1169949451/
Part52 http://pc11.2ch.net/test/read.cgi/tech/1179563617/
Part53 http://pc11.2ch.net/test/read.cgi/tech/1187667616/
Part54 http://pc11.2ch.net/test/read.cgi/tech/1204552981/
Part55 http://pc12.2ch.net/test/read.cgi/tech/1247487156/
Part56 http://hibari.2ch.net/test/read.cgi/tech/1275397597/
Part57 http://toro.2ch.net/test/read.cgi/tech/1304095827/
Part58 http://toro.2ch.net/test/read.cgi/tech/1328782534/
Part59 http://toro.2ch.net/test/read.cgi/tech/1344325875/
Part60 http://toro.2ch.net/test/read.cgi/tech/1351327234/

4 :
Part61 http://toro.2ch.net/test/read.cgi/tech/1359721249/

5 :
>>1
おつ

6 :
>>1
おつ

7 :
>>1
おつ

8 :
マジかよ
VB6で動的にDLLを使うの無理なのかよ
Susieプラグインとか使えねえじゃn

9 :
>>8
使えるが?
たとえばExcelオブジェクトをCreateObjectするとか
そういうことだろ

10 :
VBPs of Visual Basic
http://www1.koalanet.ne.jp/akiya/vbtaste/vbp/
タイトル Susie Plug-inを動的に利用する
分類 VB6で作成したクラス化を伴うサンプル
特徴 VBのランタイムとWindowsAPI関数のみを使って、実行時にロードした
DLL内の関数を利用します。

11 :
cdeclで呼び出されているDLL関数をVB6で使う方法ってある?
今とても困ってます。

12 :
あるわけねーだろ。はい論破。

13 :
>>11
VB6で使えるように(他の言語で)
ラッピングすれば良い。
バインディングってやつさ。

14 :
>>13
理論的にはできても実際には不可能だよ

15 :
はい論破
1. Declareステートメントではstdcall呼び出し規約しか使えない?
→ 「VB6.0 で swprintf を使ってみる +α」、「VB で機械語を実行する - プログラミングの丘」より、cdecl呼び出し規約の関数も呼び出すことが出来ます。

16 :
記事としてはよく見るが宣伝だろ?
実際に出来たというコードを見た事がないな

17 :
あるdllのエクスポート関数がstdcallで宣言されているかcdeclで宣言されているか
簡単に見極める方法ってないかな?

18 :
>>16
見たことがある。はい論破。

19 :
>>17
そんな事ができれば苦労はないわ。カットアンドトライでどっちかが動くかやってみろ。
確率1/2だろうがwww はい論破。

20 :
VB6でアセンブラって・・・。
なんか昔のボーランド Turbo Cのインラインアセンブラを彷彿とさせるね。
これは目から鱗ですわw

21 :
昔からBASICと機械語はよく組み合わせられる。
昔有名だったベーシックマガジン
通称ベーマガの投稿プログラムでも
DATA文で機械語を入力実行していた

22 :
>>21
一見水と油の関係のように思えるが面白いもんだね。

23 :
>>17
逆アセンブルすればええやん。リバースエンジニアリングってやつよ。

24 :
CallCdeclFunctionを使ってみました。完璧です!
これだとcdecl DLLをラップしたstdcall DLLを作成する必要がなく
ダイレクトに使えて非常に使いやすいです。
心より感謝申し上げますm(_ _)m

25 :
俺も今までこの手の事をするのにVC++ 6.0でラッパーDllを作ってたわ
世の中には頭イイ人がいるもんだな

26 :
認めない。VBでcdeclは呼び出せない。絶対に認めない。はい論破。

27 :
>>26
cdeclで呼び出されているDLL関数をVB6で使う方法が知りたかったので
VB6の機能としてcdeclが直接呼び出せなければならないことはありませんでした。

28 :
そのCallCdeclFunctionは圧巻だな。理論上は可能だが実現したのはその人がはじめてだろうな。
まさかメモリー上に展開して機械語を組み込むとは・・・。

29 :
POKEとPEEKだっけか

30 :
それってデータ実行防止にひっかからんのか?

31 :
>>30
スレッドを作成しているから問題無いよ。
システム上はコード領域のページ内で実行される。
つ、初心者が鼻息荒くしてみっともないぜ?はい論破。

32 :
>>30
ここでのキーポイントは VirtualAlloc と CreateThread です。
VirtualAlloc は、通常は大きなサイズのメモリを割り当てるときに使いますが、
コードをコピーして実行することが可能なメモリを割り当てるときにも使えます。
通常のメモリでは「実行」の属性が無いので、場合によってはエラーが発生しますが、
この関数を、PAGE_EXECUTE_READWRITE などの保護モードで呼び出せば欲しいメモリのアドレスがもらえます。
CreateThread は、本来は「スレッド」を作成し、メインのコードを実行している傍ら別の作業を行う、というときなどに使います。
ここでは、単にメモリ上にあるコードを呼び出すという目的にのみ使っています。
これは、VB にはアドレスを指定して関数を呼び出す(Quick BASIC でいう CALL ABSOLUTE 命令)が無いためで、
CreateThread 以外の関数を使うなら EnumWindows 関数など、引数にコールバック関数を指定でき、
且つ他の動作に影響を与えない関数を使用してください。

33 :
>>31
あはは、スレッドの作成とコード実行は関係ないじゃん。論破君もたいしたことないね。あはははは。

34 :
VB6.0でCreateThreadを使うのはかなり怖い。
ミッションクリティカル気分を味わえるな。

35 :
VBで関数ポインタを呼び出す
http://nienie.com/~masapico/doc_FuncPtr.html
これはどうなの?

36 :
>>35
それはデータ実行防止にひっかかるね。アウト。

37 :
Windows 8はハードウェアでDEP強制だから厳しい罠

38 :
Microsoft Visual Basic Version 5.0 で使用する DLL の開発に関する注意
http://www.microsoft.com/japan/msdn/vs_previous/vbasic/docs/dll/

39 :
関数ポインタと引数リストを引数にして渡せばそれを実行してくれる関数と作ってDLLにすればいいの?

40 :
>>39
日本語でおk

41 :
VBAで関数ポインタを利用する方法
http://akihitoyamashiro.com/VBA/FunctionPointer.htm
これはどうなの?

42 :
機械語無しでwsprintfWをVBから呼び出すてるのな

43 :
VBAでの関数ポインタの利用方法 (1/4):CodeZine
http://codezine.jp/article/detail/6780

44 :
>>41
それは元々DLLの関数を呼び出すものなのでDEPは問題無い。
しかもcdeclな関数を呼び出せる。

45 :
機械語というリスキーな操作は無駄だった

46 :
つまりどういうことだってばよ?

47 :
>>43
チクショー!3ページ目からは会員限定かよ!

48 :
ttp://akihitoyamashiro.com/VBA/index.htm
このInputBoxのキャンセル確認方法って結構有名なの?

49 :
>>41
引数をすべてVariant で指定するところが何とも気持ち悪いな

50 :
機械語のほうがスマートだな

51 :
>>50
安定さで言えばVBAの方だな。

52 :
どちらもトリッキーな手法なのには違いない

53 :
しかし最近のこのスレ、真面目にすごくタメになる内容になってないか?
昨今の論破君荒らしの状況に比べるとまるで別スレだわねぇw

54 :
こういうTipsを個人個人が自身のHPで細々と紹介するにとどまってるから普及しない

55 :
>>41使えば動的にDLL関数使い放題ってことか

56 :
>>55
恐れ入ったね。VC++6をDLLをラップするためだけにビルドしていた俺は
いったい何をやっていたのかと情けなくなる。

57 :
VB6よりVBAのほうが普及率高いからVBAからのアプローチで技巧的なコードを探したほうがいいってことか?

58 :
>>57
VB6.0は終わった言語だが、VBAはOfficeで進化しつづけている言語なので
VB6.0のスキルは実は非常に貴重なのさ。
JavaとかC#とか言語の首位を競い合っている連中は
会社がリストラをはじめたら真っ先に処分される連中だが
VBAを押さえておけば社内で尊重される
実は俺がそれでバレンタインにはチョコを17個もらった
関係ない?いやあるんだよこれがね

59 :
>>58
こいつらか?w
じだいおくれの糞言語
http://toro.2ch.net/test/read.cgi/tech/1360849046/

60 :
有用な情報載せてる個人サイトで一番困るのは突然の閉鎖で参照できなくなることだな

61 :
>>60
俺は有用な情報をみつけたら片っ端からInfoPathに入れてSkyDriveにシンクしてるから
いつ閉鎖されても大丈夫

62 :
個人サイトだろうが企業サイトだろうがストレージサービスだろうが
いつ閉鎖するかも知らんリスクは当然ついてまわる
いいもん見つけたら即ローカルに保存すべし

63 :
>>62
ローカルもいいけどクラウドもねっ♪

64 :
InfoPathのあいまい検索が威力を発揮するな。

65 :
>>41の話って前にも出なかったか?

66 :
この流れだと、TypeLib Informationを出しておかないといけないかな?
他の言語で言えばリフレクション。
クラスが持っているメソッド一覧を取得したり
特定のメソッドを文字列で呼び出したりできる。
さすがにもう随分と情報が減ってしまっているな。
http://msdn.microsoft.com/ja-jp/library/cc406728.aspx

67 :
>>62
つウェブ魚拓 http://megalodon.jp/

68 :
>特定のメソッドを文字列で呼び出したりできる
CallByNameじゃあかんのか?

69 :
オブジェクトブラウザで非表示のメンバを表示するとstrptrとか隠し関数とか出てくんのな

70 :
>>69
なにを今更・・・。
キミにオススメの隠し関数は
strYourIQ

71 :


72 :
>>70
何故にstr?
そして相手に使わせるならYourではなくMyだろ?
君も自分のIQの低さを知っておいた方が良いのでは?

73 :
>>72
よくわからないけど、お前みたいにファビョって噛みついてくる奴を指して Your なんじゃね?
strなのは小数点以下が丸められるのを防ぐためだろう
おそらく 0.0000000001とかだろうからw

74 :
最近、論破君はやられっぱなし

75 :
苦しすぎる言い訳w

76 :
妥当な見解じゃね?

77 :
あっ、はい論破。

78 :
ロンパールームかよ?うつみみどりを呼んで来い!w

79 :
ろんぱり

80 :
はい、ろんぱり。

81 :
ケロンパ、ケロンパ

82 :
Windows Blue リリースと同時にVB6.0 ランタイムサポート終了の噂
出元が広報なところが信憑性の高い理由だと?

83 :
Windows Blue リリースと同時にVB6.0 ランタイムサポート終了の噂
でもと = >>82

84 :
今までに何度同じような未公式発表があっただろうか

85 :
今度は公式発表じゃない?SVから情報っぽいし

86 :
さすがにもう退役でしょう。何の不思議もない。
逆に今までサポートされていた事が脅威だよ。

87 :
VB.NETもそこそこ普及したし、C#も来てるし、もう旧VBのサポを停止すりゃいい

88 :
結局C#は失敗だったね。Javaユーザーからは相手にされなかった。
Javaのオープンソース資産をC#へ移植しドヤ顔で商用化しているオフショアが後を絶たず
日本企業が元はJavaの資産だとは知らずに金払って使っている実態とかね。
業界からはとにかく嫌われ者のC#ですが、VB.netは徐々にシェアを伸ばしていますね。
ここでVB6のサポートが終了すればJavaに迫る勢いになるのは必至どす。

89 :
旧VBでしかできないこと、普通のCやC++でしかできなこと、Javaでしかできなこと、.NET系のVBでしか出来ないこと、C#でしかできないこと、C++でしかできないこと
これらを比較して旧VBのメリット・デメリットを明確にし、旧VBを使うべき事案を絞り見つけだすんだ!

90 :
VB6.0はOLEを使わなければCコンパイラと変わらない実行性能のコードを吐くことが可能。
net系はJITにしようがどうしようがバイナリレベルでは重複コードや冗長コードが満載となる。
でもプログラマーが糞だとどっちも糞言語でしかない。これは何を使っても同じって事。

91 :
そうやってVBしか使えない自分を必死で擁護して虚しくないのかね。
まあたぶんそういう自覚がないから虚しさも感じないんだろうけど。
馬鹿って幸せでいいよね。俺は不幸でも賢いほうがいいけど。

92 :
《参考》 プログラミング言語開発の歴史 Ver1.21
1950||||1960.|||1970.||||1980||1990|||| 2000.||||2010||||
ALGOL→ FORTRAN → BASIC ──→ Sinclair BASIC ───→ DarkBASIC → DarkBASIC Professional [ 独立系 / Windows ]
│││      │     │││
│││      │     ││└───→ MSX-BASIC ───→ 99BASIC → 終了 [ 独立系 / Windows ]
│││      │     │└──→ GW-BASIC ──→ QuickBASIC → 終了 [ Microsoft / DOS ]
│││      │     └─→ CBM-BASIC ──→ AMIGA BASIC → 終了 [ 独立系 / AMIGA ]
│││      │
│││      └──→ FORTRAN77 → FORTRAN90 → FORTRAN95 → 終了 [ 独立系 ]
│││              └──→ FORM → 終了 [ 独立系 / MZ-80K ]
│││
││└──────→ PASCAL ────→ C ─→ C++ → VC++ → 終了 [ Microsoft / Windows ]
││               │││││       │    └────→ VC# [ Microsoft / Windows ]
││               │││││       └───────→ Objective C [ Apple / iOS / Mac ]
││               │││││
││               ││││└──────────→ Visual BASIC → 終了 [ Microsoft / Windows ]
││               ││││                      └──→ GLbasic [ 独立系 / マルチプラットフォーム ]
││               ││││
││               │││└─────────────────→ AppGAME Kit [ 独立系 / マルチプラットフォーム ]
││               │││
││               ││└─────→ Delphi → 終了 [ 独立系 / DOS / Windows ]
││               │└─────→ TL/1 → 終了 [ 独立系 / MSX ]
││               └─────→ PALL → 終了 [ 独立系 / MZ-80K ]
││
│└───→ PL/1 → 終了 [ 独立系 ]
└──────────→ VTL → GAME-MZ [ MZ-80K ] ─→ GAME-86 → RVTL [ 独立系 / Windows / Linux ]

93 :
>>91
> 自分を必死で擁護して虚しくないのかね。
> ま あたぶんそういう自覚がないから虚しさも感じないんだろうけど。
> 馬鹿って幸せでいいよね。
実体験に裏づけされた、説得力ある文章だな (w

94 :
>>91
「VBしか使えない自分」ってもしかしたらお前自身の事じゃないのか?
なぜならそうでない俺からするとそういう発想さえ浮かんでこないからだ。
まあ確かにそういう人もこの世の中にはいるかも知れないが
涙拭いてガンバレよ。

95 :
問題はVB6しか使えない人が、なぜかVB.netへ移行できない事なんだがなw

96 :
>>92
VB.netを抜いたのはわざとか?wwwwww

97 :
たとえばStringBuilderもなければコレクションに代表されるライブラリも何もない、
かと言ってポインタ使って生のメモリを操作することもできないVBがCと同じぐらい高速って、
こういうのを必死の擁護と言わなくて何をそういうのかね。
まあ言って分かるようならVBerなわけがないんだけど。

98 :
>>92
Delphi 終了してねーぞゴルァ!

99 :
>>97
そういう問題でもない。
VB6のソフトウェア資産は単純にコンパイラが吐いたものだけでなく
ActiveXやCOM、DLLなどの集合体になって資産と化している。
言語は言語であって資産ではない。StringBuilderの有無など鼻糞に過ぎない。

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
COBOL vs Java 2戦目 (956)
スレを勃てるまでもないC/C++の質問はここで 21 (237)
★★Java質問・相談スレッド160★★ (529)
Perlを使って2ちゃんねるにHello Worldを書き込む (214)
日下部陽一著 作ってわかるCプログラミング(第6版) (533)
Androidプログラミング質問スレ Part30 (214)
--log9.info------------------
【pixiv】イラストSNSでお仕事 Part18【TINAMI】 (543)
【スカルプト】Sculptris 3tris【3Dペイント】 (203)
六角大王 スレ (509)
pixivのアート層を語ろう2 (296)
pixiv絵師見習いスレ (471)
pixiv トップランカー専用スレ (259)
最近集中力が続きません (333)
【pixiv】なんで絵を描くの?【絵描きさん】 (718)
2ちゃんねるのやつらって絵が下手そう・・・ (241)
☆デジキャラットのイラスト描きます2☆  (327)
SAI→IllustStudioへ時代の流れ (546)
3DR房をリアルに動かしたい (223)
RealFlow3ってまじすごいよ! (539)
3DCG屋による雑談スレ Part3 (321)
【2色ペインタ】 1bit-Paper 【超軽快】 (804)
【PIXSYS】新イラスト投稿サイト (396)
--log55.com------------------
【家庭用総合】シティーズ:スカイライン Cities: Skylines 22タイル目
【DDON】ドラゴンズドグマオンラインPart1378【スップ専用】
【SPカビハン】星のカービィ総合303【好評配信中】
タクティクスオウガ 143F 竜使いオクシオーヌ
Plants vs Zombies: ネイバービルの戦い Part26【GW総合】
【Switch】Splatoon2/スプラトゥーン2 サーモンラン 初心者スレ wave16
【PS4/XB1】The Division 崩壊318日目【ディビジョン】
【MGSV】METAL GEAR SOLID V part518【GZ/TPP】