Wolle Geschrieben 21. Mai 2003 Teilen Geschrieben 21. Mai 2003 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Peregrin Geschrieben 21. Mai 2003 Teilen Geschrieben 21. Mai 2003 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... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 21. Mai 2003 Autor Teilen Geschrieben 21. Mai 2003 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Diablo999 Geschrieben 21. Mai 2003 Teilen Geschrieben 21. Mai 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 21. Mai 2003 Autor Teilen Geschrieben 21. Mai 2003 Original geschrieben von Diablo999 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. Jep, nach einigem rumprobieren hab ichs damit hinbekommen. Danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.