请教:如果在两个Form控件间传递数据且避免用全局变量??
我用BCB时一直很讨厌自己做一件事,就是为了在两个Form上的控件传递数据引入全局变量,这样做的结果是给代码的维护带来了很大的负担,因为等我一个月再修改源代码时,不得不浪费精力去琢磨我先前的那些全局变量的意义。真是烦不胜烦。如果有多个全局变量,那真是很惨的。
因此请教大家都是怎么样处理这个问题的?
///////////////////////////////////////////////////////////////////
下面举个例子说清楚我的问题,如有Form1(假设源文件为Form1.cpp及Form1.h) 和Form2(假设源文件为Form2.cpp及Form2.h)两个窗体,Form1上有一个TEdit控件Edit1,Form2上有一个TQuery控件Query1用来从数据库中查询数据。我的目的是为了将Query1查询出来的记录的某个字段(假设为name)读到Edit1中去,因此在Form1.cpp中写一个全局变量
AnsiString g_sName;
然后在Form2.cpp中申明该变量
extern AnsiString g_sName;//这个东西很烦的
然后代码(Form2.cpp中):
g_sName=Query1->FieldByName("Name")->AsString;
在Form1.cpp中
Edit1->Text=g_sName;
//////////////////////////////
有什么办法去掉那个全局变量g_sName??