> 上で提示したコードの場合,StrCopy を使用する必要がないのであれば,
どうしても StrCopy を使用する必要がある場合は,
例えば以下のように書けます.
質問された方のコードは省略があるので参考です.
この上もこのコードも動作確認は Windows 7 U64(SP1) + Delphi XE(UP1) Pro です.
procedure TForm1.Button2Click(Sender: TObject);
var
LText : string;
LPChar : PChar;
begin
//+1はnull終端文字の分
//これがないと無効ポインタの操作となる
LText := 'ABCDE';
LPChar := StrAlloc(Length(LText) + 1);
try
StrCopy(LPChar, PChar(LText));
Edit1.Text := BoolToStr(SetText2Dll(LPChar));
finally
StrDispose(LPChar);
end;
end;
|