線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:697
推到 Plurk!
推到 Facebook!

DLL中使用自已的Form

尚未結案
mchakuna
一般會員


發表:41
回覆:45
積分:17
註冊:2004-01-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-13 21:55:12 IP:211.147.xxx.xxx 未訂閱
我在用BCB 6.0。 我在写一个DLL跟一个主程序接口通信。DLL中有一个OnStart的方程,OnStart会在DLL被主程序截入时被调用。    在DLL,我继承了TForm。    // myform.hpp class TMyForm : public TForm { __published:   TButton *OKButton;   TButton *CancelButton;   void __fastcall CancelButtonClick(TObject *Sender);   void __fastcall OKButtonClick(TObject *Sender);   void __fastcall FormHide(TObject *Sender);    public:                // User declarations   __fastcall TSettingForm(TComponent* Owner);   __fastcall TSettingForm(HWND ParentWindow, AnsiString ini); };    // myform.cpp #include  #pragma hdrstop #include "myform.hpp" //--------------------------------------------------------------------#pragma package(smart_init) #pragma link "MYFORM" #pragma resource "*.dfm" TMyForm* MyForm; //-------------------------------------------------------------------- __fastcall TMyForm::TMyForm(HWND ParentWindow, AnsiString ini): TForm(ParentWindow) { ... } .... // mydll.cpp int WINAPI OnStart() { try { MyForm = new TMyForm((HWND)0, "a.ini"); } catch (...) { ShowMessage( "Warning!" ); } return 0; } 上述代码一执行,主程序就自动退出。奇怪的是,如果我将上述代码改为 int WINAPI OnStart() { try { TForm* f = new TForm((HWND)0); } catch (...) { ShowMessage( "Warning!" ); } return 0; } 则一切正常,请问为什么? 如果解决? 谢谢!
bigdogchina
版主


發表:238
回覆:523
積分:312
註冊:2003-04-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-13 22:09:56 IP:211.162.xxx.xxx 未訂閱
mchakuna大大您好,请看看下面这篇是否对您解决问题有帮助 > < class="code"> =============== 人生在勤,不索何获? ===============
------
人生在勤,不索何获?
anpino
版主


發表:31
回覆:477
積分:231
註冊:2003-01-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-14 13:34:14 IP:218.32.xxx.xxx 未訂閱
mchakuna您好, 由於您的問題出在 MyForm = new TMyForm((HWND)0, "a.ini"); 這一行。 所以您必須說明您在 __fastcall TMyForm::TMyForm(HWND ParentWindow, AnsiString ini): TForm(ParentWindow) { ... } 函式中做了什麼。 ------------------------------- 數學系是內功很強(邏輯/分析) 資工系是招式很多(程式技巧) 就像令狐沖VS東方不敗:D -------------------------------
mchakuna
一般會員


發表:41
回覆:45
積分:17
註冊:2004-01-07

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-04-14 22:34:47 IP:211.147.xxx.xxx 未訂閱
谢谢两位。问题解决了,原来是我定义了两个constructor,但只实现了一个。真是大意呀
系統時間:2024-07-01 21:22:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!