我个初级问题~~~送分(30分)

D

d村长

Unregistered / Unconfirmed
GUEST, unregistred user!
在delphi 7.0中我想从一个窗口调用另一个窗口,代码如下:

var
Form1: TForm1;

implementation

uses Unit2;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
form2.show;
end;
却无法显示form2???
 
出错吗?
 

你的project source 是怎么样的?
 
procedure TForm1.Button1Click(Sender: TObject);
begin
if application.FindComponent('form2')<>nil then
begin
form2:=Tform2.Create(application);
form2.show;
end
else
form2.show;

end;
 
form2的属性可能不对,是不是要动态创建的?
 
文件DPR中是否声明为自动创建.
如不是.
则:
if From2=Nil then
Begin
form2:=Tform2.Create(application);
form2.show;
End;
 
这个代码更好!
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if not assigned(Form2) then Form2:=TForm.Create(Application);
Form2.Show;
end;


 
这样做比较好
 
是什么窗体?
如果是普通窗体,楼上的就可以了.
如果是MDI窗体,FORM2要设为子窗体才行....
 
看看在unit1单元里有没有引用unit2.
若没有,在uses 里写上,unit2. 就OK了
 
Form2:=TForm.Create(Application);
这句话有什么用?为什么没了这句就会报错呢?
 
如果FORM2窗体是自动创建的话,肯定在语句中要创建FORM2窗体,否则FORM2窗体实际上相当于不存在,所以当然不会显示了。
 
顶部