谢谢了

解决方案 »

  1.   

    WideChar   2字节的Unicode字符一般这样子来解决各种编码之间的转换。。function AnsiToUnicode(Ansi: string):string; 
    var 
      s:string; 
      i:integer; 
      j,k:string[2]; 
      a:array [1..1000] of char; 
    begin 
      s:='';
      StringToWideChar(Ansi,@(a[1]),500); 
      i:=1; 
      while ((a[i]<>#0) or (a[i+1]<>#0)) do begin 
        j:=IntToHex(Integer(a[i]),2);
        k:=IntToHex(Integer(a[i+1]),2);
        s:=s+k+j;
        i:=i+2;
      end;
        Result:=s;
    end;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      Handle :THandle;
      s :string;
      s2:PWideChar;
      iMemAlloc:Integer;
    begin
      s:=Edit1.text;
      iMemAlloc:=Length(s)*SizeOf(WideChar);
      s2:= AllocMem(iMemAlloc);
      StringToWideChar(s,S2,iMemAlloc);
      Handle := BeginUpdateResource('A.dll',false);
      UpdateResource(Handle,RT_STRING,'1',LANG_NEUTRAL,s2,iMemAlloc);
      EndUpdateResource(Handle, false);
    end;
      

  3.   

    StringToWideChar里面带的变量是什么意思?