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

在Thread中跑ADO Connection及Query

答題得分者是:SnoopyChen
Edward Chen
一般會員


發表:28
回覆:21
積分:9
註冊:2004-07-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-28 15:33:39 IP:202.39.xxx.xxx 未訂閱
假設我在Thread中所跑的作業不牽涉資料庫的存取作業時 多工的效果很好,但是一但有開Connection及Query時就會顯得Hold住 不知道是不是有用DataModule的關係,在Thread中產生Connection就能改善 這種問題了嗎? 感謝這個網站
------
Signed by Edward Chen
SnoopyChen
一般會員


發表:1
回覆:17
積分:18
註冊:2003-07-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-28 20:12:47 IP:211.21.xxx.xxx 未訂閱
使用 CoInitialize / CoUninitialize 如下:
procedure TxxxThread.Execute;
begin
  CoInitialize(nil);
  // ... 開啟資料庫 ...
  while not Terminated do begin
    // ... 處理資料 ...
  end;
  // ... 關閉資料庫 ...
  CoUninitialize;
end;
Edward Chen
一般會員


發表:28
回覆:21
積分:9
註冊:2004-07-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-30 11:27:30 IP:202.39.xxx.xxx 未訂閱
請問要Use什麼嗎,為什麼加入這兩行後就不能Compile 會發生不認識這兩個函式的情況 感謝這個網站
------
Signed by Edward Chen
SnoopyChen
一般會員


發表:1
回覆:17
積分:18
註冊:2003-07-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-31 01:06:49 IP:211.21.xxx.xxx 未訂閱
uses ActiveX;
h@visli
資深會員


發表:103
回覆:429
積分:431
註冊:2004-02-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-31 11:45:42 IP:222.248.xxx.xxx 未訂閱
這個問題我也碰到過,曾困擾我好幾天呢,後來找到了解決辦法: 在子線程中不能對主線程的資料表元件進行Open或Active := True;等操作, 我的辦法就是在子線程中動態的創建遠端連接元件與資料表元件,子線程結束之前釋放掉。 請參考我的blog: http://blog.csdn.net/visli/archive/2004/11/09/174151.aspx
------
------------------------
博采眾家之長,奉獻綿薄之力
------------------------
系統時間:2024-05-01 8:42:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!