比如   DLL里的 TCheckBox  被选中   然后就通知EXE他改了呢?
就是   TCheckBox  被选中    EXE程序里的一个boolean的变量就为TRUE请问怎么实现?

解决方案 »

  1.   

    to budded能不能详细点?或给个例子也可以 哈
      

  2.   

    就是再加载DLL的时候传个窗口句柄,然后么POSTMESSAGE,自定义个消息先
      

  3.   

    先CONST一个自定义消息,DLL和PROJECT里都要有,要么在调用公用的UNIT里定义,
    CONST 
      WM_abc = wm_User + 1000; //wm_user是自定义消息段,后面随便加在接受窗体类里,写接受的过程,私有,公有随便。
    private
      procedure WMaaa{名字随意}(Msg: TMessage); message wm_abc;实现部分就不写了在DLL里面就写
      POSTMESSAGE(HANDLE,WM_abc, 0, 0);
    这个HANDLE是你一开始加载DLL的时候传进来的。就是接受窗体的HANDLE
      

  4.   

    为什么要用DLL,既然DELPHI嘛,就用BPL
      

  5.   

    如果有N多  TCheckBox    是不是要发送  N多消息?        就是一个控件 一个消息?
      

  6.   

    哇,你把窗体放DLL里,可以的你直接传个CheckBox算了,看看成不成。
    var Cbx: TCheckBox; 
    DLL参数传递本来就不应该太多的,你要么用什么共享内存啊,代码不记得了,我去找找。
    你把你的意图告诉我,我帮你想想,你的程序结构有问题。
      

  7.   

    我的意识 是   EXE主程序里  有N个对应 DLL里  每一个TCHECKBOX   BOOL变量如果  DLL里的某一个被 选中  那么主程序里的  变量为TRUE     主程序里 如果为TRUE了  就执行 相应的代码帮帮偶 哈
      

  8.   

     你查一下Notify的使用 或 使用 消息 postMessage或sendMessage
      

  9.   

    POSTMESSAGE带参数,不同DLL参数不一样,LPARAM和WPARAM随便挑一个