MDI窗体的奇怪问题,急。 (50分)

  • 主题发起人 silverwolf
  • 开始时间
S

silverwolf

Unregistered / Unconfirmed
GUEST, unregistred user!
我在MDIForm里面动态创建了一个MDIform为FormA,fromA又showModal一个
fromB(normal),但fromB调用fromA时不成功,formA显示为nil。但我将
FormA改做静态创建,则没有问题;为什么?(我在FromA,FormB中已经互
相use了,程序编译都成功),翻看过去的提问有相关回答,可是没有最终
的结果。那位高手能替我解惑,多谢了。
 
fromB怎么调用的fromA?
这样不会有错:
with TFormA.Create(Self)
try
ShowModal;
finally
Free;
end;

-----
http://www.8421.org
 
FromA只能是show吧,它是MDIChild,
我在FromA的public中放了一个变量A
然后调用:fromA.A就出错了。
这时发现fromA为空。
 
fromA创建之后有没有FREE??
 
qdyoung是对的,不过是他没有看清楚罢了;
你把“A”和“B” 换一下就对 了,
try
FormB:=TFormB.Create(Self);
FormB. ShowModal;
finally
FormB. Free;
end;
--------------------


写成 FormA:=TFormA.Create(Self);
以后再调用fromA.A就不会出错了
 
一定要搞清楚FORMA和FORMB创建顺序的先后,就没问题啦
 
cxx1997:没有free
zohzjf:你的意思是formB生成在formA前??不会吧。
 
出错的原因是你调用FormA.A前生成的TFormA的实例并不是保存在FormA上。
请你把生成TFormA实例的代码贴出来看看。
 
散分了。
 

Similar threads

顶部