И еще вариант , который работает:
Private Declare Function CreateObjectFromFile1 Lib "D:\WorkFlow\OrderFW\OrderFW\Debug\OrderFW.dll" (ByVal strLibrary As String, ByVal strClassName As String) As stdole.IUnknown
IUnknown* __stdcall CreateObjectFromFile1(LPCOLESTR strLibrary, LPCOLESTR strClassName)
{
IUnknown* newobj;
//............
udtCF->CreateInstance (NULL,IID_IUnknown,(void**)&newobj);
//............
return (newobj);
}
вызыватель:
Dim objCtrl As Object
Dim objCtrl1 As stdole.IUnknown
Set objCtrl1 = CreateObjectFromFile1(s1, s2)
Set objCtrl = objCtrl1
objCtrl.TestMethod ("123")'так работает.. :xz:
то что работает — это хорошо, а вот то что я не понял каким образом так получается с Set — соотв. плохо.
хочется сразу вернуть объект. да , собственно не понятно почему просто вот так не работает ?
Dim objCtrl As Object
Set objCtrl = CreateObjectFromFile1(s1, s2)
objCtrl.TestMethod ("123")'не работает
Не страшно, если ты один.
Страшно — если ты ноль.