以下是一段网游的喊话调用过程,我调用后,为什么发汉字出现显示乱码,而发字母和数字则只能发第一个字?
procedure spk(pp1:string);stdcall;
var
address:Pointer;
tt:Cardinal;
p:array [0..256] of WideChar;
begin
address:=Pointer($41A5B0);
StringToWideChar(pp1, @p[0], 256);
tt:=Cardinal(@p);
asm
pushad
mov edx,$0
mov ecx, dword ptr [$5F1D34]
mov eax,tt
push edx
push eax
call address
popad
end;
end;procedure TForm1.Button7Click(Sender: TObject);
begin
spk(edit1.Text);
end;
xp 环境 delphi7编译...成功,但是发言就会出现以上说的乱码 。
procedure spk(pp1:string);stdcall;
var
address:Pointer;
tt:Cardinal;
p:array [0..256] of WideChar;
begin
address:=Pointer($41A5B0);
StringToWideChar(pp1, @p[0], 256);
tt:=Cardinal(@p);
asm
pushad
mov edx,$0
mov ecx, dword ptr [$5F1D34]
mov eax,tt
push edx
push eax
call address
popad
end;
end;procedure TForm1.Button7Click(Sender: TObject);
begin
spk(edit1.Text);
end;
xp 环境 delphi7编译...成功,但是发言就会出现以上说的乱码 。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货