Procedure GetEncryptedMessage(Const mesg: PChar; length : integer; result :
array of Char) cdecl; external 'EnCrypt.dll';
procedure TForm2.Button1Click(Sender: TObject);
var
result : array[0..15] of Char;
StrM : String;
I : Integer;
begin
FillChar(result, Sizeof(result), 0);
Strm := Edit1.Text ;
GetEncryptedMessage(@StrM,length(StrM),result);
Edit2.Clear;
for I := 0 to length(result) -1 do
begin
Edit2.Text := Edit2.Text + SysUtils.IntToHex(ord(result[i]),2);
end;
end;
위와 같은 코드가 있습니다. delphi7 에서는 정상적으로 동작하나 delphi 2009에서 실행하면
edit2의 값이 다르게 나타나네용.. 고수님의 소중한 의견 기달리겠습니다.
result : array[0..15] of Char;
StrM : String;
I : Integer;
이 부분을 아래처럼 바꿔보세요
var
result : array[0..15] of AnsiChar;
StrM : AnsiString;
I : Integer;