Re[3]: Создание объекта COM в рантайме БЕЗ регистрации *.dll
От: NewEmptyName  
Дата: 21.11.07 12:55
Оценка:
И еще вариант , который работает:


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")'не работает
Не страшно, если ты один.
Страшно — если ты ноль.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.