EXE程序调用DLL的接口函数执行某些功能操作,这些操作可能是比较耗时的,为了不阻塞应用程序
DLL中的执行放在线程里执行,EXE调用函数后会立即返回,等待函数结果问题是有哪些比较好的回调方案来通知程序接受返回结果(返回值可能是复杂的数据类型)
消息?指定回调函数?还是其他的方法,麻烦大家列出一些方法和其优缺点

解决方案 »

  1.   

    置顶的说多线程不是挺好的嘛,设置个Event然后等待Event
    在设置个共享内存应该就可以了,多线程通讯方式挺多的
    要不也可以试试自定义消息,函数成功后发送消息即可
      

  2.   

    我喜欢用回调,这样即使该功能放在没有Form的程序中如服务程序中,也能方便的执行,DLL中
    申请内存
    获取数据
    整理数据
    回调(数据参数)
    内存回收等这样作结构比较清楚,通常情况下,只有数据要在Form上展示的时候,才用消息同步,值得注意的是:Exe中的回调函数是在线程中执行的
      

  3.   

    谢谢各位老大,kiboisme说的很详细