GetObject

04/06/2010 - 20:00 von Heinz-Mario Frühbeis | Report spam
Hallo!

Dann hàtte ich bzgl. GetObject noch die Frage :
Kann man das auch irgendwie auf eine NICHT kompilierte AX-DLL anwenden?

Also z. Bsp. :
Set Obj = GetObject(, "Word.Application") -> funkt.

MeinDLLProjekt.MeineKlasse -> nicht kompiliert; "lediglich" als CreateObject
aus einer Std.Exe heraus aufgerufen

Dann aus einer anderen DLL heraus :
Set Obj = GetObject(,"MeinDLLProjekt.MeineKlasse") -> funkt. nicht
Bis dato bekomme ich eine Fehlermeldung -> "Kann ActiveX nicht erstellen"

Viele Grüße
Heinz-Mario
 

Lesen sie die antworten

#1 Dieter Strassner
05/06/2010 - 16:52 | Warnen spam
Hallo Heinz-Mario,


Dann hàtte ich bzgl. GetObject noch die Frage :
Kann man das auch irgendwie auf eine NICHT kompilierte AX-DLL
anwenden?
Also z. Bsp. :
Set Obj = GetObject(, "Word.Application") -> funkt.

MeinDLLProjekt.MeineKlasse -> nicht kompiliert; "lediglich" als
CreateObject aus einer Std.Exe heraus aufgerufen

Dann aus einer anderen DLL heraus :
Set Obj = GetObject(,"MeinDLLProjekt.MeineKlasse") -> funkt. nicht
Bis dato bekomme ich eine Fehlermeldung -> "Kann ActiveX nicht
erstellen"



Soweit ich mit meinem Halbwissen protzen darf: Nein das geht so nicht.
Müsstest Dir z.V. die DLL unter C erstellen, es darf keine Active-X-DLL
sein.
Ich lade meine unregistrierten VB6-DLLs mittels ComDirect

Declare Function GETINSTANCE Lib "DirectCom" (FName As String, ClassName As
String) As Object 'CreateObject-Replacement (FileBased)
Declare Function GETINSTANCELASTERROR Lib "DirectCom" () As String 'if
GETINSTANCE returns Nothing

Set Obj = GETINSTANCE(Path & "LibDemo.Dll", "cDemo")

Die DirectCOM.DLL stellt Olaf Schmidt bereit. Es handelt sich um eine
sogenannte "Classfactory". da gab es vor ihm schon einige die sich mit dem
Thema Beschàftigt haben. Es hat das ganze zusammenfasst um einiges
verebssert und füpr so einen wie mich praktisch und benutzbar gemacht. Dto.
gibt es auch eine DLL um VB6-OCXen zu laden und auch die Events auszuwerten
(per Late Binding). Hab mein ganzes Projekt darauf aufgebaut. Alle DLLs
und OCXe werden beim Kunden gar nicht erst registriert, nur drauf kopiert
und z.B. per ComDirect geladen und ausgeführt. Klappt die letzten Jahre ganz
gut...


Viele Grüße

Dieter


Rückfragen bitte nur in die Newsgroup!

EDV-Kommunikation Strassner e.K.
68623 Lampertheim
Internet: www.strassner.biz

Ähnliche fragen