总是忘记消息传递记录型指针,那就留个地,记住一下unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;Const
  WM_TEST=WM_USER+100;type
  PTest=^TTest;
  TTest=record
    ID:Integer;
    Name:String
  end;
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  protected
    procedure NewMethod(var Message: TMessage); message WM_TEST;
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementationuses Unit2;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
  Application.CreateForm(TForm2, Form2);
  Form2.Show;
  //Form2.Free;
end;procedure TForm1.NewMethod(var Message: TMessage);
begin
  Edit1.Text :=PTest(Message.WParam)^.Name;
  Dispose(PTest(Message.WParam));
end;
unit Unit2;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,Unit1, StdCtrls;type
  TForm2 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form2: TForm2;implementation{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);
var
   P:PTest;
begin
  New(P);
  P^.ID:=1;
  P^.Name:='guo';
  PostMessage(Form1.Handle,WM_TEST,Integer(p),0);
end;