我正在使用Delphi 7嘗試將一個Word文檔加載到OLEContainer中。該程序正在終端服務(Windows 2003)環境中運行。調用CreateObjectFromFile時無效的FORMATETC結構
下面的代碼生成錯誤對於一些用戶:
procedure TForm1.Button1Click(Sender: TObject);
begin
OleContainer1.CreateObjectFromFile('c:\tmp\test.doc', false);
end;
它與一個和的OleContainer窗體上的一個按鈕,一個簡單的應用程序。 c:\ tmp \ test.doc是一個Word 2003文檔。
對於某些用戶來說,這代碼生成錯誤
無效FORMATETC結構。
對於其他人來說不。所有用戶在同一臺終端服務器上運行,從而運行訪問同一Word文檔的相同程序。而且,所有用戶都是使用腳本創建的,所以它們具有完全相同的設置,除了用戶名和類似的當然。
我試過讓所有的用戶管理員,但這並沒有改變行爲。
任何人都有什麼想法可以解決問題?
這可能是併發問題。你所有的用戶都必須使用同一個文檔,或者你能爲每個用戶提供一份副本嗎? – jachguate
錯誤消息包含其他信息(可能是錯誤編號),或者只是__無效的FORMATETC結構_? – jachguate
你使用哪個Delphi版本?我在XE3中調用的OleCreateFromFile調用只是將_lpFormatEtc_參數和OLERENDER_DRAW的nil(null)傳遞給_renderopt_。它看起來不像我的失敗點。你可以重試嗎?或者生成一個StackTrace來查看它在哪一點上的失敗? – jachguate