应用DLL中动态增加TOOLBAR的按钮(个数可以通过配置增加),但按钮的实现是由另外一个DLL实现的。
请各位提供一下解决方法。听同事说可以在被调用方定义接口,采用策略模式进行实现。不知道如何实现?

解决方案 »

  1.   

    是的,這是一個基於串聯調用方式的級聯DLL調用;可提供一個思路:可在被調用方定義一個TOOLBAR工具按鈕的接口,使用時引用傳參數再CREATE,這時的個數可再級聯到另外一個DLL中的配置來增加創建最後記得用完後要釋放,調用時特別要注意資料類型是否匹配。在Delphi中使用string 、ansistring等類型做為函數的變數時一定要使用delphi的記憶體管理,即uses sharemem單元。不建議採用string類型做為參數,建議字串類型的變數都採用pchar類型,widesting等類型別的開發工具不一定能匹配…...可參考一下本站的這個DEMO,自行變通一下:http://download.csdn.net/source/2139534
      

  2.   

    非常感谢,下载了您提供的代码分析了一下。收获重大。但有一个问题还是要问一下:
    我定义一个接口,然后每一个按钮的操作都实现这个接口。存在以下问题不清楚,请指导:
    A按钮为DLLA的主窗体的按钮,但A按钮的实现是在DLLB中的。现在想DLLB中提供一个方法,所以DLLA
    调用的按钮实现都应通过这个方法来处理,应如何处理?