请教:
   如何将一个窗体中的文本信息传递给另一个窗口??

解决方案 »

  1.   

    既然你说的不详细,我也泛泛而谈了。
       在你说的另一个窗体所在的单元中引用第一个窗体的单元。
       然后,直接可以得到其文本信息。
    比如:
        Form2.Edit1.Text := Form1.Edit1.Text;---------------------------------------------基本搞定!
      

  2.   

    uses 单元!
    s:string;
    s:=form1.label1.caption;
    正如楼上兄弟说,把问题说清楚!
      

  3.   

    谢谢!
    具体情况是:
    一个父窗口form1,产生一个子窗口form2,在子窗口中有一个memo控件,现在需要把memo的数据防到父窗口form1的memo中去!
      

  4.   

    最直接的办法是利用ShareMemory,不过有点麻烦
    也可以利用API消息传递SendMessage(里面可以指向你的字符串)
      

  5.   

    分数有点少,不过,这不是最重要的。
    -----------用剪贴板来做--------------------------------
    1: 在主窗体中引用子窗体单元。并且添加一个剪贴板单元ClipBrd。
    2:主窗体上有一个Memo1,Button1。子窗体上有一个Memo2。procedure TForm1.Button1Click(Sender: TObject);
    var
      ms : TClipboard;
      p: PChar;
    begin
      GetMem(p, 1024);
      p := Form2.Memo2.Lines.GetText;
      Clipboard.SetTextBuf(p);
      Form1.Memo1.Lines.Add(Clipboard.AsText);
      p := nil;
      FreeMem(p);
    end;
    ----------------------Delphi6.0下调试通过--------------------
      

  6.   

    我认为,用消息处理是最好的
    坚决放对利用uses单元来传递文本或数据。第一:这样做使得程序的维护很麻烦,修改代码要在很多地方改动;第二:容易产生互相调用的后果。、、、、、如果像你说的,最简单而且比较好的办法(我认为),就是利用参数传递。在一个窗体中创建另外一个窗体:如在TForm1中调用TForm2窗体。你在TForm2窗体的public 中定义:Constructor CreateIt(Owner: TComponent; Str: TString);
    TForm2.createIt(Owner:TComponent; Str:String);
    begin
      inherited create(Owner);
      .
      .
    end;在TForm1中要调用TForm2的地方如下写代码:
      Form2 := TForm2.createit(Owner,aStr);
      Form2.showmodal;
      Form2.free;这样,要传的文本就在窗体中传递了。。
      

  7.   

    哦。上面错了。TForm2的构造函数应该传递一个 形参。
    TForm2  Constructor CreateIT(Owner:TComponent; var Str:String)