以下是一段网游的喊话调用过程,我调用后,为什么发汉字出现显示乱码,而发字母和数字则只能发第一个字?
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编译...成功,但是发言就会出现以上说的乱码 。