Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

Plugins für die Eigene App - Wie? -- VB6

mike_2006 / 8 Antworten / Flachansicht Nickles

Hallo,
ich stehe bei meiner fast fertigen App vor einem Problem:
Ich hatte vor, eine Möglichkeit für Plugins zu machen.
Das sieht so aus:
Es wird ein ActiveX-Steuerelement, dessen Location, etc. bekannt ist,
zur Laufzeit geladen bzw. eingefügt.
(evtl.:) Es bekommt dann das hwnd Handle einer PictureBox um sich zeigen zu können.
Soweit so gut.
Die zwei Funktionen CreateObject und GetObject wollen dies bei mir nicht so richtig: Immer wieder:
... kann nicht durch ActiveX eingefügt werden...

Wie kann ich nun zur Laufzeit ein ActiveX.ocx in mein Programm einladen??? (Ohne die EXE zu verändern :D)

MfG,
Michael

bei Antwort benachrichtigen
mike_2006 PaoloP „Das Problem ist ja das Er ein visuelles Control unbekannterweise dazu laden...“
Optionen

Hallo,

aaalso:
Die Seite von ActiveVB hilft mir schon einiges weiter^^

Im prinzip (hätte ich schreiben sollen-.-) muss es nicht zwingend ein ocx sein,
so etwas wie das Beschreibene ist auch schon ein guter Anfang, aber:
Ist es auch möglich, dass das Plugin ein eigenes Formular hat?
Als Beispiel:
Das Projekt simple.vbp hat jetzt anstatt von drei Classes jetzt drei Forms.
Ich rufe das Plugin auf, gebe ihm den hwnd Handle einer PictureBox und das Plugin wird in der PictureBox angezeigt. Geht das?
Wie müsste dann der Befehl von CreatObject aussehen?
obj=CreateObject(FormClass(...)) ?

Wenn das ginge, wär's super ^^

MfG,
Michael

EDIT:
Habe mich jetzt mit Modifikationen herumgezanckt -
eine DLL habe ich schon, jedoch muss diese ja bekanntlich registriert sein...
Mein regsvr32 sagt mir immer so ne Fehlermeldung:
... WUrde geladen, aber der DLLInstall-Eingangspunkt wurde nicht gefunden. Stellen Sie sicher, dass die Datei gültig ist.
... DAs kapiere ich nun nicht...
Welches dings muss ich denn dann nehmen (meine DLL hat keinen integrierten installer - jedenfalls net von mir! :D)

bei Antwort benachrichtigen
Noch ne möglichkeit? mike_2006