在Delphi 中 新增 ActiveX Library -> 在加入 COM Object ->再增加個窗體(FORM),在FORM中有些操作,最後把項目編譯成Dll文件。
本人(jumleres)已經在COM Object 的接口定義一個方法ShowForm, 用來顯示新增的窗體, 但是我在客戶端調用這個方法的時候 就是無法把Form 顯示出來  大家幫幫忙呀
問:在客戶端應用程序中 怎麼樣把上面編譯的Dll中的Form在客戶端顯示出來? 謝謝幫忙

解决方案 »

  1.   

    你是COM调用,调用是在远程时行的,怎么可能把窗体显示在本地呢?如果想要显示在远程的话,倒是可以的。即然你是用远程调用,就不应该要显示什么窗体吧。
      

  2.   

    必须先创建窗体
    form1:=tform1.create(nil);
    form1.show;
    另外要记得释放
    在form1的onclose事件中加
    release;
      

  3.   

    回:proman() 用DCOM是可以在遠程顯示窗體呀  但是我(jumleres)想把COM中的窗體 在本地顯示出來 
    回:cdkey(cdkey) 不知道這位大哥的 方式行不行喔  我今晚下班回去再試試看喔 但還是先謝謝了本人現在在深圳混飯吃,用VB開發的MRP/ERP,  Delphi水平有限  各位大哥見笑了
      

  4.   

    对啊,远程显示窗体是可以的,但不可能回传到本地来啊,除非你把这个窗体声明成接口,通过接口流化回传到本地。这种事好象是没有人做的。另,一般也不会在远程显示窗体,因为是DOM调用,所以远程通常是一个服务器,是无人值守的。
    所以我想正确的设计思路是不是应该功能在远程完成,而窗体是本地显示结果。
    Cdkey的方法是创建一般的窗体的方法,对你说的问题有任何帮助忙?
      

  5.   

    回proman()大哥,你說的方面沒有錯!
    現在我的設計思路是 :把一個大型的項目拆開多個模塊,每個模塊編譯成一個或者幾個COM Dll,但每個模塊肯定有多個窗體了,那就肯定要遇到我這樣的問題。
    客戶端<-> 中間處理層(眾多Com Dll)<->數據庫proman()大哥,那你們用Delphi開發基於COM組件的項目時候  思路是怎麼樣呢?
      

  6.   

    理論上應該可以在Delphi中的中間層 加入局部界面吧??  我在ActiveX Library -> 在加入 COM Object ->再增加個窗體(FORM),在FORM中有些操作,最後把項目編譯成Dll文件,我沒有發現有什麼問題出現呀  現在是怎麼樣把中間層中的FORM在客戶端顯示出來呀!這樣,我就可以把一個巨大型的項目分成幾個或者十幾個COM Dll了,這樣對性能跟項目管理及以後的升級都有很大幫助呀!
    哎呀  
      

  7.   

    cdkey,我找到問題的解決辦法了 謝謝你了  還是謝謝大家了  大家交個朋友吧  
    [email protected]
    QQ 15648335