详细一点来说是这样的,有个main单元,这个单元要引用线程ThrCalc_Data.,然后这个线程有一部分的功能是计算出一个值赋给Frm_M.edit.text,总是提示
[Error] ThrCalc_Data.pas(79): Undeclared identifier: 'Frm_M';互相引用的uses 是加在implementation 后的。单元确实都uses 了。问题在哪呢?
[Error] ThrCalc_Data.pas(79): Undeclared identifier: 'Frm_M';互相引用的uses 是加在implementation 后的。单元确实都uses 了。问题在哪呢?
解决方案 »
- tcxgrid 显示了查询结果后,怎样双击一行,取出这一行相应的所有单元格的内容
- WIN XP + DELPHI2010下,service application模式的DataSnap服务端不能使用?
- 请教:对两个表的操作?谢谢!
- 请问各位,这是为何??
- 有關賦值的問題
- 如何用delphi进行报表输出,报表格式为CoReport(一个制作报表的工具)
- 两个不同项目中的表单怎么应用?
- 哪里有TSkinWin控件下载
- 在ROSE类图中如何设置属性,使生成的代码中能生成相应的属性
- 如何通过CDDB能够得到CD音轨的名称啊?
- 线程中引用了单元文件,但是还是提示未定义,怎么回事呢?
- dbgrideh汇总行问题
const
WM_THREADMSG=WM_USER+1;然后在线程里写:
if 值(X)是数值型 then
PostMessage(窗口.Handle,WM_THREADMSG,integer(X),0)
else //值是字符串,并字符串名是str
begin
GetMem(P,1024);//一个字符串长度1024应该够了吧,不够把1024改大
ZeroMemory(P,1024);
CopyMemory(P,Pointer(str),Length(str));
PostMessage(窗口.Handle,WM_THREADMSG,integer(P),0);
end;在窗口消息响应函数中写:
if 值(X)是数值型 then
Edit1.Text:=IntToStr(Msg.WParam)
else //值是字符串,并字符串名是str
begin
Edit1.text:=PChar(Pointer(Msg.WParam));
FreeMem(Pointer(Msg.WParam),1024);
end;
随便写写,也没调试,可能有点错误,反正这种方式是可行的。
Frm_main: TFrm_main;
implementation
红色部分