别的文件中的函数的信息怎么显示到主窗口的Memo1中?
//mylog.h
#include "fzmainkkk.h "
//---------------------------------------
int addmessamo1(AnsiString ss);
int stariscsi_tgt_init(TmainForm1 *opaque);
int getpath1(char *a);
TmainForm1 *hrForm;
//mylog.cpp
int star_init(TmainForm1 *opaque)//主窗口创建后调用这个把指针传过来
{
hrForm=(TmainForm1 *)opaque;//可hrMorm总是NULL
return 0;
}
int addmessamo1(AnsiString ss)//把信息显示到主窗口的Memo1中
{
if (hrForm-> Memo1-> Visible)
hrForm-> Memo1-> Lines-> Add(ss);//由于hrForm为NULL,有时出错。
return 0;
}
这样做为什么不行?怎么改正?谢谢!
[解决办法]
代码写的不好,耦合高,要写log,最好自己封装类,把信息写到队列里面,写入文件,需要显示出来留个接口就行。例如GetMessage,返回一个TStrings,或者一些显示控件的父类接口。然后自己在子类实现。
就你的代码看,你说的空就不清楚了,我不知道你其他代码怎么写,TmainForm1这个啥?自己弄清楚了,如果总是空,添加消息就不是有时出错了。
[解决办法]
。。。。。问题自己解决最好了。路过接分。