關於 dll ? |
|
cooper
一般會員 發表:17 回覆:41 積分:11 註冊:2002-03-25 發送簡訊給我 |
請問一下在 dll 檔中是否無法透過 ado 物件來連結資料庫 ?
小弟做了以下測試
procedure test(dbPath: AnsiString); export; . . procedure test(dbPath: AnsiString); var f: TForm; qryTest: TADOQuery; begin f := TForm.Create(Application); f.Caption := 'test form'; f.ShowModal; {以上都 ok} qryTest := TADOQuery(Application); {從上面這行就會丟出一個無法初始化的 exception} . . end;請問這真的是因為在 dll 內部能用 ado 物件嗎 ? 還是小弟寫錯了呢 ? 謝謝各位囉 :) Regards, cooper |
lee
站長 發表:55 回覆:173 積分:45 註冊:2002-02-27 發送簡訊給我 |
引言: 請問這真的是因為在 dll 內部能用 ado 物件嗎 ? 還是小弟寫錯了呢 ? 謝謝各位囉 :)好像寫錯了喔,試試下面的 procedure test(dbPath: AnsiString); var f: TForm; qryTest: TADOQuery; begin f := TForm.Create(Application); f.Caption := 'test form'; f.ShowModal; {以上都 ok} qryTest := TADOQuery.create(Application); {從上面這行就會丟出一個無法初始化的 exception} ... end;~~~Delphi K.Top網站總管~~~
------
~~~Delphi K.Top網站總管~~~ |
cooper
一般會員 發表:17 回覆:41 積分:11 註冊:2002-03-25 發送簡訊給我 |
|
lee
站長 發表:55 回覆:173 積分:45 註冊:2002-02-27 發送簡訊給我 |
引言: sorry ~ 我原始的 code 是用 TADOQuery.Create(Application); 當我的 host application run 起來的時候會丟出 coInitialize 的 exception, 這到底是怎麼回是勒 ?? 謝謝各位 :) Regards, cooper找到原因了,這是因為呼叫的應用程式未啟動OLE, 可在呼叫 .DLL的主程式中加入 uses ADODB; 就可以解決此問題了! try it ! ~~~Delphi K.Top網站總管~~~
------
~~~Delphi K.Top網站總管~~~ |
cooper
一般會員 發表:17 回覆:41 積分:11 註冊:2002-03-25 發送簡訊給我 |
|
lee
站長 發表:55 回覆:173 積分:45 註冊:2002-02-27 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |