by ゲスト » 2006年4月16日(日) 10:58
コード: 全て選択
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"と
表示されます。これはバグですか?
[code]
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
[/code]
上記のソースを「~Ver4.13.00」でコンパイルするとメッセージは"tttt"が
表示されます。「Ver4.20.00~」でコンパイルするとメッセージは"test"が
表示されます。a(StrPtr(c))とするか引数の型をBytePtrにすれば"tttt"と
表示されます。これはバグですか?