selectdirectory是在哪个单元中被定义的?何必如此麻烦,别的程序中能直接调用岂不是更方便。

解决方案 »

  1.   

    不放在DLL中怎么用其他程序调用???
    问题是在其他程序中不能直接调用
    顺便问一下,gz是什么意思?:)
      

  2.   

    呵呵,我知道delphi中有selectdirectory可供调用,但是不知道是delphi自己写的还是调用系统内定的.即使是系统内定的,也可以照它怎么写来做。假如是delphi自己重写的,非要做到dll中涉及的问题就多一些,比如dll中你得声明类实例化的过程,对每一个方法/属性都得相应写一个出口函数。
    btw,"gz"我想是关注的意思吧.
      

  3.   

    不是了,两个解决方法!
    1:你自己参考SelectDirectory的函数的源代码,自己封装ShBrowserForFolder函数,传入hwnd参数给函数即可。
    2:你的DLL Application对象初始化的时候,把DLL Application.handle用调用者的Application.handle替换即可了。
      

  4.   

    对BigBen(江南草)有些疑问,你说的好像是Active DLL,据我所知Active DLL与纯粹的DLL是有区别的。不过小弟刚开始学习,还不太清楚,是这样吗?Kingron(WinAPI)说得不错,不过我好像没能使用DLL的Application.Handle,不知道怎么回事