1
我必須加載一對OCX庫來訪問遺留代碼。 我創建使用Activator.CreateInstance實例:創建多個相同的OCX實例
var type = Type.GetTypeFromProgID(ProgId);
var comObject = Activator.CreateInstance(type);
不幸的是Activator.CreateInstance似乎每個進程id只能創建一個實例,但是我需要使用不同配置多個實例。
例子:假設我使用的是OCX至極允許設置一個值:
var instance1 = Create(progId);
Set(instance1, "key", "1");
var value1 = Get(instance1, "key"); // returns 1
var instance2 = Create(progId);
Set(instance2, "key", "2");
var value2 = Get(instance2, "key"); // returns 2
var value3 = Get(instance1, "key"); // returns 2
我需要一種方法來實例化一個OCX(相同PROGID)控制多次沒有得到手的引用只是一個實例。
可能是一個錯誤(全局變量),可能是故意的。它通常是。你沒有旋鈕來調整它,與OCX廠商合作。 – 2011-01-28 14:22:37