在DELPHI中窗体之间 如何传递数据?

2025-05-13 18:27:06
推荐回答(1个)
回答(1):

在delphi中窗体以Unit为单位,你可以将变量置于Interface即应用程序级变量,也可以作为窗体类public数据成员出现,这样在创建了这个窗体类的实例后就可以在另一个窗体类实例中访问这个变量。看了你的部分程序后,原来问题不是出在变量的窗体间传递上,而是你在进行delphi中窗体动态创建和释放中出现了问题。在Tfrm_Tyxg的label5click过程中动态创建了Tfrm_chaxun的实例,但在Tfrm_chaxun的查找按钮事件中又创建了一次Tfrm_Tyxg的实例,而在此之前,Tfrm_Tyxg的实例已存在,所以你要释放两次。据我所知,要完全释放一个窗体实例,需用FreeAndNil(窗体实例名)函数,一般在窗体的onclose事件中使用,单单用close是无法释放窗体实例指针的,再次create时会发生内存错误。