procedure TForm1.CompanyInformation1Click(Sender: TObject);
begin
TForm2.Create(Application);
form2.show;
end;debugger excetion notification: (error prompt)
project project1.exe raise excetion class EAccessViolation with message' Access violation at address 006c5579 in module 'vlc60.bpl'.
read of address 0000004c'. process stopped.project -> option -> package下的所有*.bpl都选了。
而且也将vlc60.bpl copy进同一个目录下。 还是有此错误。project -> option -> linker 下的max stack size: 也设成$00400000了。到底真正原因在哪?
form2.show;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
form2:=Tform2.Create(application);
form3:=Tform3.Create(application);
form4:=Tform4.Create(application);
form5:=Tform5.Create(application);
form6:=Tform6.Create(application);
form7:=Tform7.Create(application);
Application.Run;如果连form1都是用tform1.create的话,也报出错。如果所有form都是application.createform的话,build与run都没有问题,但package后在另外一个没有安装delphi的os就报vlc60.bpl warning出错。关闭了。请教。。
如果需要form1做主窗口,其余form做show出来的窗口的话。
project代码应该怎么写?还有,我的问题是属于form的问题吗?
一个project里面7个form同时auto-create的话,会不会有stack overflow的问题产生? 谢谢。
对了,你的编译选项先不要选使用runtime库的那一项
form2:=TForm2.Create(Application);
form2.show;
form2:=TForm2.Create(Application);
form2.show;
在form1的button1里面调用form2的代码。除了这样写,还有其他方法吗?
Form1: TForm1;
implementation
uses unit2;procedure TForm1.button1click(Sender: TObject);
begin
form1.Hide;
form4:=tform4.create(application);
form4.show;
end;就这行代码,build的时候没问题, run的时候到了 form4:=tform4.create(application);
就出问题了。。
with TForm2.Create(Form2) do
begin
show;
sleep(2000);
free;
end;
如果想占用比较小的内存,可以使用动态创建