环境 delphi 
现有一个线程,计算数据并且给main中的edit赋值,我已经在uses 里加了main
单元,线程中还是提示对应frm_main 未定义求助啊

解决方案 »

  1.   

    是不是forms这个单元没引用啊?
    interface
    uses SysUtils,Forms,Classes;
      

  2.   

    这个确实引用了。
    还是不行。详细一点来说是这样的,有个main单元,这个单元要引用线程ThrCalc_Data.,然后这个线程有一部分的功能是计算出一个值赋给Frm_M.edit.text,总是提示
    [Error] ThrCalc_Data.pas(79): Undeclared identifier: 'Frm_M';互相引用的uses 是加在implementation 后的。
      

  3.   

    详细一点来说是这样的,有个main单元,这个单元要引用线程ThrCalc_Data.,然后这个线程有一部分的功能是计算出一个值赋给Frm_M.edit.text,总是提示
    [Error] ThrCalc_Data.pas(79): Undeclared identifier: 'Frm_M';互相引用的uses 是加在implementation 后的。
      

  4.   

    main单元的窗口名称是不是'Frm_M'?
      

  5.   

    估计是引用了另一个同名的单元,或旧版本的dcu了
      

  6.   

    TForm类是在系统单元Forms内定义的,一般新开一个单元时都不会自动引用系统单元,需要自己按需求手动引用,不是单引用了程序单元就算完了。
      

  7.   

    还有不要把窗口的name和caption或者单元名搞混了
      

  8.   

    线程里引用别的单元,然后给相应窗体赋值是可以的。U_main,对应的窗体确实是'Frm_M'没错啊。着急啊,加班累死人,求解答~~~
      

  9.   

    按9楼的意思是在线程create的时候把Frm_M传进线程,create(Frm_M:TForm);
      

  10.   

    最后发现问题出在哪里了,就是pas文件中窗体定义部分被删除了。加上就好了,谢谢以上热心的回答