新建两个窗体Form1,form2在form1放了一个button,加一个label1在button的onclick里写
form2:=Tform2.create(application);
form.showmodal;在form2的implilaction下写uses unit1;在form2上放一个button1,在form2的button1的onclick里写form1.label1.caption:='*****';问题是。这时我新建了一个form3,从form1继承下来。当点击form3的button1时,出现错误。跟踪调试出现
form1.label1.caption:='*****';这行错误 ,好像是没有引用unit3。怎样让继承的form3,同样可以调用form2.
form2:=Tform2.create(application);
form.showmodal;在form2的implilaction下写uses unit1;在form2上放一个button1,在form2的button1的onclick里写form1.label1.caption:='*****';问题是。这时我新建了一个form3,从form1继承下来。当点击form3的button1时,出现错误。跟踪调试出现
form1.label1.caption:='*****';这行错误 ,好像是没有引用unit3。怎样让继承的form3,同样可以调用form2.
form2.showmodal;//写错了.
form1.label1.caption:='*****'这句?真是看不明白
仔细看这个问题,其实有些难的。不要一看form1,fomr2就太简单了。
有问题请发信息到我的E-mail:[email protected]
广播王,好恐怖的mailform3如果是继承form1的话那么应该已经uses unit2了
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3};{$R *.res}begin
Application.Initialize;
Application.CreateForm(TForm3, Form3);
Application.Run;
end.因为form1没有先创建, 而运行form3应出现错误 .
Project project1.exe raise exception class Eaccessvoiolation with
message 'access violation at address 004541bf in module 'project1.exe'. read of address fffffff' proecess stopeed
更不会执行form2的button1的事件!
-------------------------------------------
你有很多没说清!
可否贴代码出来看看
Application.Initialize;
Application.CreateForm(TForm1, Form1);//加上去就不会有问题.
Application.CreateForm(TForm3, Form3);
Application.Run;
end.
在form1的 button1里调用 form2,
form3是从form1里继承,当然也就执行了form2.