ページ 11

関数の引数(ポインタ)に文字列を指定した際のポインタ

Posted: 2006年4月16日(日) 10:58
by ゲスト

コード: 全て選択


Sub a(b As VoidPtr) 
 Dim d As String 
 d = "tttt" 
 memcpy(b, StrPtr(d), lstrlen(b)) 
End Sub 
Dim c As String 
c = "test" 
a(c) 
MsgBox 0, c, "", MB_OK 
End 
上記のソースを「~Ver4.13.00」でコンパイルするとメッセージは"tttt"が
表示されます。「Ver4.20.00~」でコンパイルするとメッセージは"test"が
表示されます。a(StrPtr(c))とするか引数の型をBytePtrにすれば"tttt"と
表示されます。これはバグですか?

Posted: 2006年4月16日(日) 15:19
by hira
実は私が先に書いていたり(^^;
http://www.discoversoft.net/forum/viewtopic.php?t=783