Autor Beitrag
damadmax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 60



BeitragVerfasst: Fr 21.02.03 16:26 
Hallihallo,

nach eingehendem Studium der vorhanden Posts in unzähligen Foren und Ausreizen der Suchfunktionen, stell ich meine Frage nun doch lieber mal:

Ich möchte mein Programm modular aufbauen:
d.h. das Prog soll in DLLs unterteilt werden, ähnlich wie Plugins bei Winamp oder ähnlichen Programmen.
Das ganze ist ja ein geringes Problem wenn die DLLs einzelne Fomulare beinhaltet. Ich möchte aber die Module ähnlich wie bei einem TPageControl darstellen. Also in einem Formular.

Prinzipell ist mir schon klar, daß ich der DLL irgendwie beibringen kann, wohin sie zeichnen soll. Mit der Umsetzung klappt das aber noch nicht so ganz.

Wär fürchterlich nett, wenn mir jemand weiterhelfen könnte.


Gruß

Dirk

_________________
Alle Rechtschreibfehler sind gewollt und sollen meine Individualität verstärkt zum Ausdruck bringen.
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Fr 21.02.03 17:14 
Hallo,

das kannst du vergessen. DLLs sind schon ziemlich angestaubt und bieten nur wenig technische möglichkeiten.
Daher kannst du keine komplexeren Datentypen übergeben und bei Zeigern scheitert es an der Tatsache, das die DLL in einem Anderen Adressraum läuft als die EXE.

Wenn du also keine Formularbeschreibungssprache entwickeln willst, die dann von deinem Hauptprogramm interpretiert wird, musst du dich nach anderen Alternativen umsehen.

Die günstigsten Kanidaten sind Borland Packages und Active(X)-Forms.

Die ersten haben den Vorteil, das sie ALLES können was du auch inerhalb deiner EXE kannst. Aber den Nachteil, das sie nur mit Borland Compilern und auch dort ausschließlich Versionsabhängig erzeugt werden können.

Die zweiteren sind ein M$ standart und können daher in allen möglichen Sprachen entwickelt werden. Sind aber langsamer und unterscheiden sich von der Philosophi von der der Borländer (was dann dur eine Kapzelung als Borland Package unter umständen wieder wetgemacht werden kann).

Du hast die Wahl.

Gruß
Klabautermann
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Fr 21.02.03 19:32 
du könntest das so machen:

ein verzeichnis nach DLL durchsuchen. wenn das PlugIns für dein Proggi sind, dann füge einen Eintrag in ein Menü hinzu. wenn der user dann den menüeintrag anklickt, wird die DLL dynamisch geladen und das formular daraus angezigt !!

_________________
In the beginning was the word.
And the word was content-type: text/plain.
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Fr 21.02.03 21:51 
Hallo Matze,

das funktioniert aber nur mit ganzen Formularen und auch dann nur wenn diese alleinstehend, also kein MDI sind.

Gruß
Klabautermann
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Sa 22.02.03 11:59 
aha

_________________
In the beginning was the word.
And the word was content-type: text/plain.
damadmax Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 60



BeitragVerfasst: So 23.02.03 05:15 
mmmhh

nun gut!

dann lass ich die dll geschichte erstmal sein.

trotzdem vielen dank für die ausführliche antwort. danke

gruß

damadmax

_________________
Alle Rechtschreibfehler sind gewollt und sollen meine Individualität verstärkt zum Ausdruck bringen.
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: So 23.02.03 15:56 
und wie sieht es aus, wenn frames in den dlls sind? Ich habe das jetzt so verstanden, daß auch das nicht geht, weil die auch nicht richtig unabhängig sind?!?!

Gruß
Ken
kiwicht
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Mo 24.02.03 22:16 
damadmax hat folgendes geschrieben:
mmmhh

nun gut!

dann lass ich die dll geschichte erstmal sein.


hehe... LOL damadmax.... so gings mir auch... willkommen im Club der "ahnungslosen DLL-Opfer"... ;)

mfg kiwicht
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Di 25.02.03 12:04 
Hallo,
CenBells hat folgendes geschrieben:
und wie sieht es aus, wenn frames in den dlls sind? Ich habe das jetzt so verstanden, daß auch das nicht geht, weil die auch nicht richtig unabhängig sind?!?!

ich habe es nicht ausprobier aber mit 99,9% sicherheit wird auch das nicht klappen. Allein wegen des unterschiedlichen Adressraums, wie willst du den Frame da sein Parent/owner vorstellen?

Gruß
Klabautermann
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: Di 25.02.03 14:35 
Klabautermann hat folgendes geschrieben:
...und bei Zeigern scheitert es an der Tatsache, das die DLL in einem Anderen Adressraum läuft als die EXE.

Interessant... jetzt läuft nicht mehr jeder Prozess in seinem eigenen Adressraum, jetzt hat sogar schon jedes Modul seinen eigenen Adressraum :shock: :wink: Also da muss ich dir wiedersprechen.. außerdem sind die Borland-Packages genauso wie die AcitveX/COM-Objekte im Endeffekt auch nichts anderes als eine Dll!

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!