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

Client Tier 端呼叫過 App. Server 後, 就結束不了程式

尚未結案
Diviner
初階會員


發表:36
回覆:112
積分:34
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-03 14:22:26 IP:202.82.xxx.xxx 未訂閱
我發現當我的 Client Tier 端的程式, 一旦呼叫過 Application Server 的任何 Method 後, 就結束不了程式。結束不了的意思, 是當我按右上角的小交叉結束了程式後, 表面上結束了, 但在 Task List 中卻仍看到它。    若 Client Tier 程式是由 Delphi 的 Debug mode 運行的話, 沒有這種狀況, 只有直接執行 Client Tier 的執行檔才出現此現象。    我貼一下部份程式碼, 希望大家幫忙一下, 謝謝。
  TForm1 = class(TForm)
    ...
  private
    AppSvr: IrdmPatternKeyDisp;
    procedure GetPatternKey(const times: Integer);
    { Private declarations }
    ...
  end;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
  SocketConnection1.Address := '192.168.1.15';
  SocketConnection1.ServerName := 'TestAppSvr.rdmPatternKey';
  SocketConnection1.Open;      AppSvr := IrdmPatternKeyDisp(IDispatch(SocketConnection1.AppServer));
end;    procedure TForm1.FormDestroy(Sender: TObject);
begin
  AppSvr := nil;
  SocketConnection1.Close;
end;    procedure TForm1.GetPatternKey(const times: Integer);
var
  NextKey: OleVariant;
begin
  AppSvr.GetNext('PNB', NextKey);
  ...
end;
我記得, 以往的經驗是, 若果在程式中呼叫過 OLE Automation 時, 若程式完結時少做了 Uninitialize, 便同樣會完結不了程式, 不知道現在是不是要做相類似的工作呢? 謝謝. -- 小卜子 發表人 - diviner 於 2004/12/03 14:44:01
------
--
小卜子
speedup
資深會員


發表:19
回覆:259
積分:280
註冊:2003-07-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-03 15:40:06 IP:220.135.xxx.xxx 未訂閱
Procedure TForm1.OnClose(Sender: TObject);
begin      AppSvr := nil;
end;    
混心雜欲 棄修身~唉
------
唉~
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-03 16:23:44 IP:61.222.xxx.xxx 未訂閱
您說的是 Coinitialize 及 CoUninitialize; 我記得是不需要的。 使用 SocketConnection1.Connected:=False; 這樣就可以了。 一般關不掉的原因。 有可能是 APPSERVER 對應的Thread 陷入死循環或者等待回應。
Diviner
初階會員


發表:36
回覆:112
積分:34
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-08 14:41:47 IP:202.82.xxx.xxx 未訂閱
我試了幾天, 發覺某些電腦執行這 Client 程式才會完結不了, 有些電腦又無事, 讓我再觀察一下, 有發現再報告, 先謝過各位。 -- 小卜子
------
--
小卜子
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-04-30 13:44:40 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-04-27 5:02:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!