簡體   English   中英

Activator.CreateInstance我的實例嗎?

[英]Activator.CreateInstance my instance?

我有一段代碼可以打開COM對象的實例並執行不同的任務。 我的問題是,如果我使用COM打開的應用程序已經在運行,那么我將重用該實例。 我一直想擁有一個新實例並與之合作,最后關閉。 無論如何要這樣做?

Type t = System.Type.GetTypeFromProgID("QlikTech.QlikView");
QlikView.Application app = (QlikView.Application)Activator.CreateInstance(t);
app.OpenDocEx("c:\\test.qvw",1,false,null,null,null,true);
String script = app.ActiveDocument().GetScript();
StreamWriter outfile = new StreamWriter("c:\\test.qvw.txt");
outfile.Write(script);
outfile.Close();
app.Quit();

這是COM服務器本身的屬性。 它為CoRegisterClassObject()調用中的flags參數傳遞的值。 聽起來好像正在傳遞REGCLS_MULTIPLEUSE,這並不罕見,因為為每個單獨的客戶端啟動新流程可能會很昂貴。

客戶端無法更改該行為。 您需要供應商的幫助,也許有一個配置文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM