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


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

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



1 名前:デフォルトの名無しさん [2013/02/15(金) 16:54:12.79 ]
ここは 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 まで) part61
toro.2ch.net/test/read.cgi/tech/1359721249/

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

39 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 22:27:04.23 ]
関数ポインタと引数リストを引数にして渡せばそれを実行してくれる関数と作ってDLLにすればいいの?

40 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 22:30:12.66 ]
>>39
日本語でおk

41 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 22:34:47.61 ]
VBAで関数ポインタを利用する方法
akihitoyamashiro.com/VBA/FunctionPointer.htm
これはどうなの?

42 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 22:37:50.20 ]
機械語無しでwsprintfWをVBから呼び出すてるのな

43 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 22:40:36.33 ]
VBAでの関数ポインタの利用方法 (1/4):CodeZine
codezine.jp/article/detail/6780

44 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 22:41:46.11 ]
>>41
それは元々DLLの関数を呼び出すものなのでDEPは問題無い。
しかもcdeclな関数を呼び出せる。

45 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 22:44:01.27 ]
機械語というリスキーな操作は無駄だった

46 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 22:46:41.36 ]
つまりどういうことだってばよ?

47 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 22:47:45.84 ]
>>43
チクショー!3ページ目からは会員限定かよ!



48 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 22:50:03.78 ]
ttp://akihitoyamashiro.com/VBA/index.htm

このInputBoxのキャンセル確認方法って結構有名なの?

49 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 22:51:26.61 ]
>>41
引数をすべてVariant で指定するところが何とも気持ち悪いな

50 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 22:52:05.53 ]
機械語のほうがスマートだな

51 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 22:54:05.85 ]
>>50
安定さで言えばVBAの方だな。

52 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 22:56:54.01 ]
どちらもトリッキーな手法なのには違いない

53 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 22:58:52.59 ]
しかし最近のこのスレ、真面目にすごくタメになる内容になってないか?
昨今の論破君荒らしの状況に比べるとまるで別スレだわねぇw

54 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 23:00:39.23 ]
こういうTipsを個人個人が自身のHPで細々と紹介するにとどまってるから普及しない

55 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 23:02:33.70 ]
>>41使えば動的にDLL関数使い放題ってことか

56 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 23:05:47.87 ]
>>55
恐れ入ったね。VC++6をDLLをラップするためだけにビルドしていた俺は
いったい何をやっていたのかと情けなくなる。

57 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 23:10:21.90 ]
VB6よりVBAのほうが普及率高いからVBAからのアプローチで技巧的なコードを探したほうがいいってことか?



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

59 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 23:16:14.71 ]
>>58
こいつらか?w

じだいおくれの糞言語
toro.2ch.net/test/read.cgi/tech/1360849046/

60 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 23:18:40.57 ]
有用な情報載せてる個人サイトで一番困るのは突然の閉鎖で参照できなくなることだな

61 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 23:24:51.96 ]
>>60
俺は有用な情報をみつけたら片っ端からInfoPathに入れてSkyDriveにシンクしてるから
いつ閉鎖されても大丈夫

62 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 23:26:39.36 ]
個人サイトだろうが企業サイトだろうがストレージサービスだろうが
いつ閉鎖するかも知らんリスクは当然ついてまわる
いいもん見つけたら即ローカルに保存すべし

63 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 23:27:36.76 ]
>>62
ローカルもいいけどクラウドもねっ♪

64 名前:デフォルトの名無しさん mailto:sage [2013/02/16(土) 23:28:51.87 ]
InfoPathのあいまい検索が威力を発揮するな。

65 名前:デフォルトの名無しさん mailto:sage [2013/02/17(日) 05:35:45.83 ]
>>41の話って前にも出なかったか?

66 名前:デフォルトの名無しさん mailto:sage [2013/02/17(日) 08:27:24.44 ]
この流れだと、TypeLib Informationを出しておかないといけないかな?
他の言語で言えばリフレクション。
クラスが持っているメソッド一覧を取得したり
特定のメソッドを文字列で呼び出したりできる。

さすがにもう随分と情報が減ってしまっているな。
msdn.microsoft.com/ja-jp/library/cc406728.aspx

67 名前:デフォルトの名無しさん mailto:sage [2013/02/17(日) 08:48:09.62 ]
>>62
つウェブ魚拓 megalodon.jp/



68 名前:デフォルトの名無しさん [2013/02/17(日) 21:39:30.09 ]
>特定のメソッドを文字列で呼び出したりできる

CallByNameじゃあかんのか?

69 名前:デフォルトの名無しさん mailto:sage [2013/02/17(日) 21:43:50.98 ]
オブジェクトブラウザで非表示のメンバを表示するとstrptrとか隠し関数とか出てくんのな

70 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 09:01:24.78 ]
>>69
なにを今更・・・。

キミにオススメの隠し関数は

strYourIQ

71 名前:デフォルトの名無しさん mailto:sage [2013/02/19(火) 19:11:23.00 ]


72 名前:デフォルトの名無しさん mailto:sage [2013/02/21(木) 16:57:07.53 ]
>>70
何故にstr?
そして相手に使わせるならYourではなくMyだろ?

君も自分のIQの低さを知っておいた方が良いのでは?

73 名前:デフォルトの名無しさん mailto:sage [2013/02/21(木) 17:10:21.38 ]
>>72
よくわからないけど、お前みたいにファビョって噛みついてくる奴を指して Your なんじゃね?
strなのは小数点以下が丸められるのを防ぐためだろう
おそらく 0.0000000001とかだろうからw

74 名前:デフォルトの名無しさん mailto:sage [2013/02/21(木) 17:26:34.11 ]
最近、論破君はやられっぱなし

75 名前:デフォルトの名無しさん mailto:sage [2013/02/21(木) 18:34:18.10 ]
苦しすぎる言い訳w

76 名前:デフォルトの名無しさん mailto:sage [2013/02/21(木) 18:43:51.16 ]
妥当な見解じゃね?

77 名前:デフォルトの名無しさん mailto:sage [2013/02/21(木) 21:56:27.25 ]
あっ、はい論破。



78 名前:デフォルトの名無しさん mailto:sage [2013/02/21(木) 22:16:35.68 ]
ロンパールームかよ?うつみみどりを呼んで来い!w

79 名前:デフォルトの名無しさん mailto:sage [2013/02/21(木) 23:33:07.14 ]
ろんぱり

80 名前:デフォルトの名無しさん mailto:sage [2013/02/21(木) 23:42:29.22 ]
はい、ろんぱり。

81 名前:デフォルトの名無しさん mailto:sage [2013/02/21(木) 23:51:25.94 ]
ケロンパ、ケロンパ

82 名前:デフォルトの名無しさん [2013/02/23(土) 12:50:42.11 ]
Windows Blue リリースと同時にVB6.0 ランタイムサポート終了の噂

出元が広報なところが信憑性の高い理由だと?

83 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 12:52:09.75 ]
Windows Blue リリースと同時にVB6.0 ランタイムサポート終了の噂

でもと = >>82

84 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 13:54:50.95 ]
今までに何度同じような未公式発表があっただろうか

85 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 18:14:39.81 ]
今度は公式発表じゃない?SVから情報っぽいし

86 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 19:19:20.83 ]
さすがにもう退役でしょう。何の不思議もない。
逆に今までサポートされていた事が脅威だよ。

87 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 19:23:39.31 ]
VB.NETもそこそこ普及したし、C#も来てるし、もう旧VBのサポを停止すりゃいい



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

89 名前:デフォルトの名無しさん [2013/02/23(土) 19:33:26.61 ]
旧VBでしかできないこと、普通のCやC++でしかできなこと、Javaでしかできなこと、.NET系のVBでしか出来ないこと、C#でしかできないこと、C++でしかできないこと

これらを比較して旧VBのメリット・デメリットを明確にし、旧VBを使うべき事案を絞り見つけだすんだ!

90 名前:デフォルトの名無しさん [2013/02/23(土) 19:43:15.12 ]
VB6.0はOLEを使わなければCコンパイラと変わらない実行性能のコードを吐くことが可能。
net系はJITにしようがどうしようがバイナリレベルでは重複コードや冗長コードが満載となる。
でもプログラマーが糞だとどっちも糞言語でしかない。これは何を使っても同じって事。

91 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 22:24:12.47 ]
そうやってVBしか使えない自分を必死で擁護して虚しくないのかね。
まあたぶんそういう自覚がないから虚しさも感じないんだろうけど。
馬鹿って幸せでいいよね。俺は不幸でも賢いほうがいいけど。

92 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 22:27:18.84 ]
《参考》 プログラミング言語開発の歴史 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 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 22:31:24.92 ]
>>91
> 自分を必死で擁護して虚しくないのかね。
> ま あたぶんそういう自覚がないから虚しさも感じないんだろうけど。
> 馬鹿って幸せでいいよね。

実体験に裏づけされた、説得力ある文章だな (w

94 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 22:36:32.79 ]
>>91
「VBしか使えない自分」ってもしかしたらお前自身の事じゃないのか?
なぜならそうでない俺からするとそういう発想さえ浮かんでこないからだ。
まあ確かにそういう人もこの世の中にはいるかも知れないが
涙拭いてガンバレよ。

95 名前:デフォルトの名無しさん [2013/02/23(土) 22:38:09.87 ]
問題はVB6しか使えない人が、なぜかVB.netへ移行できない事なんだがなw

96 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 22:39:43.00 ]
>>92
VB.netを抜いたのはわざとか?wwwwww

97 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 22:41:37.65 ]
たとえばStringBuilderもなければコレクションに代表されるライブラリも何もない、
かと言ってポインタ使って生のメモリを操作することもできないVBがCと同じぐらい高速って、
こういうのを必死の擁護と言わなくて何をそういうのかね。

まあ言って分かるようならVBerなわけがないんだけど。



98 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 22:42:18.10 ]
>>92
Delphi 終了してねーぞゴルァ!

99 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 22:44:42.58 ]
>>97
そういう問題でもない。
VB6のソフトウェア資産は単純にコンパイラが吐いたものだけでなく
ActiveXやCOM、DLLなどの集合体になって資産と化している。
言語は言語であって資産ではない。StringBuilderの有無など鼻糞に過ぎない。

100 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 22:46:34.33 ]
>>99
そういう問題じゃないと君が思うのは、君が「そういうのが問題になる」ような
コードを書いたことがないVBerだから。馬鹿じゃないのか。
だいいち自分がVBはC並に高速だと言い出したのじゃないのかよ。

101 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 22:47:11.12 ]
ポインタ使って生のメモリを操作することができるのがすごいなら
俺はMSDOSでMicrosoft Cコンパイラ ver4.0くらいが一番すごいと思うな。
ver 5になると過度な最適化で変な事になる。
何事もバランスが大切って事ですわ。高速論議は経験の浅い
未熟なプログラマがすることだもんね。

102 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 22:48:22.34 ]
>>101
あんた60代だろ?www

103 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 22:50:28.22 ]
>>101
> 何事もバランスが大切って事ですわ。高速論議は経験の浅い
> 未熟なプログラマがすることだもんね。
全力で同意せざるをえない。

104 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 22:55:20.55 ]
StringBuilder基地概って周期的に沸くよな?

105 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 22:57:26.71 ]
>>92
C#がC++からの派生とはどうしても考えられない俺がここにイル

106 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 23:18:29.05 ]
>>105
GLBasicをVBから派生させている段階で
専門学校生の発案であることがわかりそうなもん

107 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 23:18:34.07 ]
VBってBASICからの派生じゃなくてPASCALからの派生だったのか



108 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 23:19:50.17 ]
>>107


109 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 23:23:51.95 ]
C#の血統はこんなところだな。

C++ 戸籍上の父親
VB6 代理母
java 卵子提供者
J++ 書類上の卵子提供者
Delphi 精子提供者
ヘルスバーグ 受胎告知

110 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 23:31:14.31 ]
>>109
良くわかってらっしゃる。熟練プログラマーとお見受けしますた!

111 名前:デフォルトの名無しさん mailto:sage [2013/02/23(土) 23:38:58.95 ]
>>109
C++Builder 異母兄弟

112 名前:デフォルトの名無しさん mailto:sage [2013/02/24(日) 11:55:26.62 ]
VB.net 一卵性双生児

113 名前:デフォルトの名無しさん mailto:sage [2013/02/25(月) 13:54:42.52 ]
>>112
それは違う。同姓同名の赤の他人だろ。

114 名前:デフォルトの名無しさん mailto:sage [2013/02/25(月) 19:39:17.92 ]
>>113
109からの流れを見よ

115 名前:デフォルトの名無しさん mailto:sage [2013/02/25(月) 20:53:29.88 ]
ゴスリンとヘルスバーグでウケとかタチとかの薄い本見たときはぶっ飛んだぞ。

116 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 03:42:17.69 ]
GetPrivateProfileStringで全角文字使えないかんじ?

117 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 03:48:14.84 ]
s = String(20, " ")
r = GetPrivateProfileString(ap,ky,df,s,20,fl)
n = len(s)
としたとき
全角文字が無いとき、例えば abcdefg だったとすると
r=7 n=20 ってなって8文字目がNullコードになってるんだけど
全角文字があるとき、例えば あいう だったとすると
r=6 n=17 ってなって4文字目がNullコードになって
sの変数のサイズが変わっちゃうんだけど
sの消えた3文字分のメモリはどこいっちゃったの?って感じで
これってヤバイの?大丈夫なの?



118 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 03:49:47.13 ]
sには固定サイズの文字列渡したほうがいいの?
Dim s As String * 20
みたいな

119 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 06:59:19.24 ]
文字数とバイト数は違うぞ
LenじゃなくてLenB使ってみ

120 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 10:59:04.17 ]
>>117
全角を使うときは値をダブルクォーテーションで囲えアホが

121 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 19:59:22.42 ]
>>119
それに何の意味があるのだろうか

Len("abc") > 3
LenB("abc") > 6
Len("あいう") > 3
LenB("あいう") > 6
Len("abあ") > 3
LenB("abあ") > 6

122 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 20:01:48.31 ]
>>120
ダブルクオーツで囲っても>>117と結果同じだったんだけど・・・

123 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 20:09:29.55 ]
GetPrivateProfileStringは最初の=以降から文末までを読み込むようで
"あいう"えお"
という二重引用符を間に挟んでやると
文頭と文末の引用符を除いた
あいう"えお
を返してくれたよ

124 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 20:12:51.87 ]
>キー名に関連付けられている文字列が単一引用符や二重引用符で囲まれている場合、GetPrivateProfileString 関数はこれらの引用符を取り除きます。

単一引用符でも取り除かれるのか
これは意外だ

つかVB6付属のMSDNには文字列書き込むときには引用符でくくれとは書いてないように見えるのだが

125 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 20:22:42.95 ]
今どきiniとかないわー
xmlにしろよ

126 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 20:25:59.25 ]
っていうか質問の内容を勘違いしないで
全角文字が取得できないなんて一言も言ってないし
20文字分(40bytes)のメモリを割り当てた変数が
全角含む文字列渡すと全角1文字につき1byte分減って戻ってくるけど
これってメモリ関連のトラブルの発生源になったりしないか聞きたいんだけど

127 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 20:28:31.08 ]
固定長文字列にしたら元の文字列サイズ分ちゃんと戻ってくるのな
可変長文字列をGetPrivateProfileStringに渡しちゃまずいのか?



128 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 20:35:35.69 ]
>>125
少量のキーと値の関連付け保持に便利じゃん
レジストリは使いたくないし、xmlだと一部の文字にエスケープとか使って配慮しないといけないし

129 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 20:58:55.89 ]
>>126
ANSIとUNICODEの変換でそう見えるだけ
UNICODEでの文字数とANSIの文字数(バイト数)は一致しない

130 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 21:17:03.54 ]
固定長文字列でもちゃんと戻ってくるかと思ったけど違ったわ
"A"で初期化したけど可変長文字列と同様に減って戻ってきてるわ
減った分が32、半角スペースで埋まって戻ってきた
やはり仕様なのか、もしくは全角使うのがまずいのか
GetPrivateProfileStringAじゃなくGetPrivateProfileStringWを使うべきなのか

>>129
APIが全角1文字を半角2文字分としてよこしてVBが2文字分の領域を確保するけど
バイトコードからVBが全角文字だと判断して2文字分を1文字分に減らすってこと?

131 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 21:25:24.91 ]
あ=82A0
をAPIが 82 と A0 の1バイト文字(半角)2文字分としてVBに渡して
がVBで確保した2文字分の領域4バイト 0000 0000 に上書きされて
0082 00A0 となったところをVBが全角文字と判断して
0082 00A0 → 82A0 という1文字分(2バイト)減らして変数に戻すってこと?

132 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 21:57:53.94 ]
VBが確保した領域10文字なら10バイト分をAPIに渡して
文字列が「あAA」なら
APIは10バイトの最初2バイトを82、A0で埋めて3バイト目を65、4バイト目を65、5バイト目を0にしてVBに返し
VBは10バイトを1バイトずつ解釈していってunicodeに変換して変数に再割り当てしてるってことなのか?
でもそれだと適当な文字で初期化した固定長文字列の減った部分が半角スペースで初期化されてるのはおかしいし
どうなってんだこれ

133 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 22:05:41.59 ]
何このバカ?
値が取れればそれでいいだろ?頭使えよ。

134 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 22:06:22.11 ]
>>129
なんかわけわかんねえレスだなと思ってたらGetPrivateProfileStringの戻り値の話?
戻り値は書き込んだバイト数返すはずだからLenやLenBした値と違うのは当たり前じゃね?
そうじゃなくて変数の割り当てメモリが減ってるって話なんだけど

135 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 22:10:14.91 ]
GetPrivateProfileString自体がVB6の関数でも何でもないのに戻り値が理不尽だと騒ぐバカ。
相手にする方がどうかしてる。

136 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 22:12:23.64 ]
だれも戻り値の話なんかしてないだろ
確保しておいた変数のサイズがAPIに渡したら変数のサイズが変わったって言ってんだよ
文字列の長さの話じゃねえし戻り値の話でもない

137 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 22:14:00.99 ]
>>136
冷静に。
サイズなんか変ってないよ。
BSTRとみなした時の文字数が変っただけ。



138 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 22:14:30.29 ]
変数の割り当てメモリはどうやって調べた?
文字列の長さ=割り当てメモリじゃねーぞ。

139 名前:デフォルトの名無しさん mailto:sage [2013/02/26(火) 22:15:56.02 ]
>>136
なに興奮してんだこのアホ。関係ない戻り値で反応しやがったw






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

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

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