中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Delphi中出現小問題及處理

發布時間:2020-07-23 20:22:43 來源:網絡 閱讀:324 作者:alexanda2000 欄目:開發技術

1、尚未調用CoInitialize

Delphi中出現小問題及處理

這是在調用Com對象(比如ADO對象)時出現的錯誤,按道理Delphi應該把這個問題自動處理好,但它就是出現了。所以只能自己處理。在單元文件中引用ActiveX,然后在初始和結束手動初始化和結束初始化。

initialization

CoInitialize(nil);

finalization

CoUninitialize;

另外有一點需要注意的是,根據MSDN:

Initializes the COM library on the current thread and identifies the concurrency model as single-thread apartment (STA).

New applications should call CoInitializeEx instead of CoInitialize.

If you want to use the Windows Runtime, you must call Windows::Foundation::Initialize instead.

這個Com庫的初始化函數只對當前線程有效,所以如果使用了多線程,在別的線程出現報錯,只是手動在主線程增加初始化是沒用的,必須加在對應的線程單元中合適的位置

以上述程序為例,開始的時候,將 CoInitialize(nil)加在了主窗體中,無效,因為對相關Com的調用是在別的線程;然后加在線程文件的initialization中,出乎意料,也無效。后來思考了一下,單元文件的initialization實際上還是主線程調用的,因為這時我自己寫的線程還沒有啟動。最后把調用加在Execute方法里,報錯消失了。


2、被呼叫方拒絕接收呼叫

Delphi中出現小問題及處理

因為是通過Com對象進行操作(比如導出Excel),這種情況一般是由于操作過快造成的(Com的速度都比較慢),需要減緩一下操作速度。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吴桥县| 柯坪县| 彭泽县| 隆回县| 疏附县| 叶城县| 合作市| 南和县| 澳门| 华蓥市| 夹江县| 武宣县| 额尔古纳市| 元朗区| 达州市| 阳信县| 尼玛县| 丹阳市| 炉霍县| 漠河县| 封丘县| 焉耆| 溆浦县| 遵义市| 彩票| 五峰| 买车| 屏东市| 二连浩特市| 杨浦区| 根河市| 安庆市| 蒙城县| 尼勒克县| 昭平县| 南平市| 尚志市| 历史| 衢州市| 庆阳市| 文登市|