Declare Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" (ByVal Dest As String, ByVal Source As Integer, ByVal length As Integer)
のAPIで
Dim nAddress As Integer
Dim buffer As String
Call MoveMemory(buffer, nAddress, FileLength)
とするとメモリの内容をbufferにコピーできましたが
bufferの内容をnAddressに書き出すにはどうしたら
よいのでしょうか?
APIのパラメータの意味は不変なので
(コピー先アドレス,コピー元アドレス,サイズ)、
一番手っ取り早いのは、宣言をちょいといじって、
パラメータの型を自分の望みにあわせた上で利用することでしょう。
今の宣言も必要なら、別名でもう1つ宣言してもいいし。
ありがとうございます
(コピー先アドレス,コピー元アドレス,サイズ)
ですね。
ところでどうしてもよくわからないのは
VB.NETでの「変数のアドレス」の表現です(Cのポインタ変数)。
「ByVal Dest As String,」は「Dest」のアドレスを意味するのでしょうか。
>ところでどうしてもよくわからないのは
>VB.NETでの「変数のアドレス」の表現です(Cのポインタ変数)。
>「ByVal Dest As String,」は「Dest」のアドレスを意味するのでしょうか。
それを知らなくても、VBの中の世界ではこまりません。
先に「初心者」を名乗らない努力をすべきでは?
> ところでどうしてもよくわからないのは
VB6ということであれば、英語ですがこんな説明もあります。
図だけ見ててもなんとなくわかりますよ。
http://www.romanpress.com/Articles/Strings_R/Strings.htm
Sayさん、さるべーじさんありがとうございました。
貴重な資料の紹介ありがとうございました。
http://www.romanpress.com/Articles/Strings_R/Strings.htm
で勉強させていただきます。
ありがとうございました。
ツイート | ![]() |