var
  s: string;SendMessage(Form1.Handle, WM_USER, 0, PChar(s));

解决方案 »

  1.   

    接收端
    procedure WmUser(var Msg: TMessage); message WM_USER;procedure TForm1.WmUSer(var Msg: TMessage);
    var
      s: string;
    begin
      s: = string(PChar(msg.lparam));
    end;
      

  2.   

    LParam是Integer,转一下呵呵
    SendMessage(Form1.Handle, WM_USER, 0, Integer(PChar(s)));
      

  3.   

    chechy(我爱洁洁) :SendMessage(Form1.Handle, WM_USER, 0, LPARAM(PChar(s)));
    这样才对。
    可是这样传过去在接受端s: = string(PChar(msg.lparam));这样转不回来的。
      

  4.   

    var 
       s : String ;
       .....
       SendMessage(Handle,WM_USER,100,Integer(s));接收:
       procedure TForm1.WmUSer(var Msg: TMessage);
       var
         s: string;
       begin
         s: = Pchar(Msg.wParam);//***这里不能用Msg.lParam**
       end;Delphi6 下以上代码通过调试
      

  5.   

    为什么我就是不对?我的发送方是个dll,这有关系嘛?
      

  6.   

    可能有问题在DLL发消息,在DLL中你可以用callback来实现,具体可以到书上<delphi开发指南>有例子