Zum Inhalt springen

VB6: Formulare in extra Dateien auslagern


Wolle

Empfohlene Beiträge

Hi,

ich sitze gerade an einem etwas größerem VB Programm. Das Programm soll aus verschiedenen Programmteilen bestehen, die unabhängig von einander sind.

Das Programm besteht aus einem MDI-Formular in das über das Menü die verschiedenen Formulare der einzelnen Programmteile geladen werden.

Funktionen habe ich soweit es ging schon in Klassen definiert und in dll's ausgelagert, Probleme machen mir jetzt die Formulare. Ich möchte die Formulare und Module pro Programmteil in extra Dateien kompilieren um je nach Kundenwunsch nur die gewünschten Programmteile weiter zu geben.

In einer .ocx oder dll kann ich ja keine normalen Formulare verwenden (zumindest hab ich das noch nicht hinbekommen) und als exe bekomme ich die Formulare nicht angesprochen, bzw in das MDI-Formular geladen.

Weiß jemand eine Möglichkeit, die einzelnen Programmteile in extra Dateien zu kompilieren und dann sämtliche Formulare aus allen Programmteilen in nur einem MDI-Formular dar zu stellen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

hi,

man kann sehr wohl "normale" formulare in einer dll verwenden.

lediglich der aufruf des formulars muss gekapselt sein:

in der dll eine klasse definieren, welche das formular zur anzeige bringt.

diese klasse kann dynamisch geladen werden und das formular anzeigen.

so haben wir z.b. eine anwendung, deren programmteile sich in 6 dlls verteilen, wobei jede einzelne dll ein in sich geschlossenes programm beinhaltet.

hth...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Peregrin

lediglich der aufruf des formulars muss gekapselt sein:

in der dll eine klasse definieren, welche das formular zur anzeige bringt.

diese klasse kann dynamisch geladen werden und das formular anzeigen.

Danke, das war ein Denkanstoss in die richtige Richtung. :)

Mit einem SDI-Formular hab ich das jetzt hinbekommen. Jetzt hab ich aber noch das Problem, das das MDI Formular in der Standard-exe ist und ich die Formulare aus der dll in dieses MDI laden will. Als Fehlermeldung bekomme ich "Kein MDI Formular zum laden vorhanden"

MDIChild in den Formulareigenschaften in der DLL habe ich auf true. In der Klasse hab ich das Formular einfach mit Form.show gestartet. Den Aufruf der Methode habe ich sowohl aus einem Unterformular in der exe als auch direkt aus dem Menü im MDI Formular probiert.

Hat da vielleicht noch jemand ne Idee, wie das klappen könnte?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Verwende doch die Win32 API:


Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

Du lädst das Formular erst normal, dann setzt du mit SetParent das MDIFormular als Vater für dein anderes Formular fest.

Sollte so klappen.

Diablo999

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...