虚心请教,我想在主程序的某个事件(例如是OnClick事件)中调用dll的函数,并通过此函数中止当前事件的运行。我试过在DLL函数体内调用Abort,但是主程序运行的时候报错,有什么好办法可以实现吗?

解决方案 »

  1.   

    你终止主程序,那么你主程序调用的Dll生命也就结束了,感觉就象儿子杀老子一样,可以用注入进程的方式,利用别的进程做为牺牲品,来终止, 具体例子参考:http://blog.csdn.net/wsxqaz/archive/2009/06/01/4228756.aspx
      

  2.   

    可以变通一个方式dll返回值依据不同的返回值
    主程序执行相应的操作(继续,过程终止,程序终止....)
      

  3.   

    To InceptKnowledge:谢谢你回答,我不是要终止主程序,我只是想调用了dll之后,跳出当前事件的运行,效果就等相当于在事件中调用exit;
    To newfang:可以详细说说嘛。
    另外我在网上找到可以DLL中关闭调用的程序的方法,顺便粘出来
    把你的调用dll的程序的窗体名传入   
            MyHandle:=FindWindow('FormName','');   
            if   MyHandle<>0   then   
            PostMessage(MyHandle,wm_close,0,0);   
      

  4.   

    dll中使用线程,就不会阻塞主线程了。