我想试验一个mdi窗体,在main主窗体中放了一个mainmenu,在‘文件‘下面有新建、打开、关闭三个选项
并且已经设置了formstyle为fsmdiform,另外新建了三个窗体分别命名为open new exit等三个窗体,并且这三个窗体的formstyle为fsmdichild,并且在三个子窗体的onclose事件中对应着写
inherited;
new:=nil;而在main 中的单击事件中这样写
if new=nil then
new:=tnew.Create(self);
new.Show;
当执行的时候出现下面的错误
form 'exit' references form 'open' decalre in unit'openpas' which is not in you uses list.do you wish to add it?
为什么会出现这个错误?如果不加上就不能行,如果加上还是达不到实现mdi窗体的效果,为什么呢?
并且已经设置了formstyle为fsmdiform,另外新建了三个窗体分别命名为open new exit等三个窗体,并且这三个窗体的formstyle为fsmdichild,并且在三个子窗体的onclose事件中对应着写
inherited;
new:=nil;而在main 中的单击事件中这样写
if new=nil then
new:=tnew.Create(self);
new.Show;
当执行的时候出现下面的错误
form 'exit' references form 'open' decalre in unit'openpas' which is not in you uses list.do you wish to add it?
为什么会出现这个错误?如果不加上就不能行,如果加上还是达不到实现mdi窗体的效果,为什么呢?
MDI这方面的例子很多的,找找看看吧
procedure TMain_Form.EntryClick(Sender: TObject);
begin
if not Assigned(long_server_Form) then
long_server_Form:=Tlong_server_Form.Create(Application);
long_server_Form.Show;
end;//Long_server_Form的OnClose事件
procedure Tlong_server_Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
close;
action:=cafree;
end;
//Long_server_Form的OnCloseDestroy事件
procedure Tlong_server_Form.FormDestroy(Sender: TObject);
begin
long_server_Form := nil;
end;
procedure TMain_Form.EntryClick(Sender: TObject);
begin
if not Assigned(long_server_Form) then
long_server_Form:=Tlong_server_Form.Create(Application);
long_server_Form.Show;
end;//Long_server_Form的OnClose事件
procedure Tlong_server_Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
close;
action:=cafree;
end;
//Long_server_Form的OnCloseDestroy事件
procedure Tlong_server_Form.FormDestroy(Sender: TObject);
begin
long_server_Form := nil;
end;