今回の質問は題名の通り
DLLから文字列を正常に取得する方法
です。
でなにも作成せずに聞かれては答えようがないと思われますので
テスト的に作成しました
DLLの作成言語はDelphiです
DLLのソース:
library Project2;
uses
SysUtils,windows,
Classes;
{$R *.res}
function test(a:pshortstring):integer;stdcall;
var
b:shortstring;
begin
b:='Hiroaki Software';
test:=0;
MoveMemory(a,@b,Sizeof(shortstring));
end;
exports
test;
begin
end.
そこで作成されたDLLをHSP側で以下のように呼び出しました。
#uselib "project2.dll"
#func test "test" sptr
sdim a,6500
test varptr(a)
print a
これで良さそうですが、
変数aに "Hiroaki Software"の前後に変なものがくっ付いています
これを対処する方法ありますか?