AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Formular aus DLL als Hauptformular?

Ein Thema von Mattze · begonnen am 18. Feb 2009 · letzter Beitrag vom 18. Feb 2009
Antwort Antwort
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#1

Formular aus DLL als Hauptformular?

  Alt 18. Feb 2009, 10:08
Hi,

gibt's bestimmt schon, aber ich habe es nicht gefunden...

Ich habe mir für ein Programm eine DLL geschrieben in der ein Formular steckt.
(Eigentlich mehrere Formulare, aber das ist hier unerheblich.)
Geht auch alles sehr gut.

Inzwischen würde ich gerne dieses Formular auch als Hauptformular eines eigenständigen Programms nutzen. ("Outsourcing" - you know? )

Ich habe nur noch keine zündende Idee, wie das gehen soll. Muss ja dann irgendwie in der Application stehen. Aber wie?
kennt sich da jemand aus?

Gruß
Mattze
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Formular aus DLL als Hauptformular?

  Alt 18. Feb 2009, 10:25
Du hast ja mindestens den Application-Zeiger umgebogen. Dann kannst du doch jetzt auch Application.Mainform setzen, oder?

Edit: Ach nee, ist ja readonly-prop

Edit2: Wie erstellst denn du die Formulare?
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: Formular aus DLL als Hauptformular?

  Alt 18. Feb 2009, 10:31
Afaik geht das nicht so einfach, wie du dir das denkst.

http://delphi.about.com/od/objectpas...bpl_vs_dll.htm
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Formular aus DLL als Hauptformular?

  Alt 18. Feb 2009, 12:07
Zitat von nuclearping:
Afaik geht das nicht so einfach, wie du dir das denkst.

http://delphi.about.com/od/objectpas...bpl_vs_dll.htm

Mit dem Umweg über ein Interface sollte es gehen.
Notfalls kann man im Hauptprogramm ein Dummy als Hauptfenster verwenden und dieses als
Parent für das Fenster in der Dll zuweisen.
Und hört auf auf BPL via Dll rumzuhacken.
BPL ist ein großer Designfehler in Delphi. Eine Dll kann ich Versionsunabhängig und plattformübergreifend verwenden.
Eine BPL ist versionsabhängig, muß gegen die gleiche Compilerversion compiliert werden und die dadurch entstehende BPL Hölle ist kaum beherrschbar.
Das Problem BPL wäre wesentlich entschärfter, wenn die VCL Interfaces verwenden würde.

Gruß
Peter
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Formular aus DLL als Hauptformular?

  Alt 18. Feb 2009, 14:00
Afaik gibt es aber keine andere etablierte Möglichkeit, in Delphi Forms in "DLLs" auszulagern.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Formular aus DLL als Hauptformular?

  Alt 18. Feb 2009, 14:01
Eine etablierte Möglichkeit sind ActiveX-Forms.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Formular aus DLL als Hauptformular?

  Alt 18. Feb 2009, 14:45
Zitat von sirius:
Eine etablierte Möglichkeit sind ActiveX-Forms.
Die wiederum arbeiten mit Interfaces.

Wir haben das in einem großen Projekt realisiert. Alle Forms in Dll(16 Stück).
Diese werden über Interfaces auf Tabpages in der Mainform gelinkt.
Das Verfahren ist gedacht, um beim Programmstart nur freigeschaltete (=gekaufte) Programm-Module zu laden.
An Laufzeit-BPL kommt man bei diesem Verfahren, aufgrund des RegisterClass Problems von Delphi, jedoch nicht vorbei.

Will man auf BPL komplett verzichten, was aufgrund der Versionsproblematik auch Sinn macht, dann ist Comserver, ActiveX
oder die Modularisierung über Exe-Files ein gangbarer Weg.
Gerade letztere Version mit Exe-Files habe ich in einem Projekt eingesetzt und noch keinen negativen Feeback bekommen.
Das BPL Versionsproblem ist bei uns insofern bedeutungslos, da Konzernweit nur Delphi 7 eingesetzt werden darf.

Ein weiterer gangbarer Weg ist die Verwendung des Hydra Frameworks von Remobjects. Hier bietet sich noch der Vorteil
Net und Delphi native zu kombinieren.
Arbeitet auch mit Interfaces und benötgt Laufzeitbibliotheken aufgrund des RegisterClass Effektes.


gruß
Peter
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz