Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - DLL Programmierung
Alex_ITA01 - Di 30.09.03 10:11
Titel: DLL Programmierung
Hi an alle da draußen,bin neu hier
wollte mal fragen ob mir einer ein tip geben kann wie man von einer dll auf die komponenten oder variablen von der MainApplication zugreifen kann. Gebt mir bitte kein Tutorial denn da habe ich schon zwei aber so richtig geholfen haben die mir net. Wäre froh wenn mir jemand mal ein Code zeigen könnte dafür muss ja nix weiter passieren nur das es eben geht
danke alex
MSCH - Di 30.09.03 12:57
Also, ne DLL ist in der Regel eine One-Way Methode - also von Main -> DLL und nicht umgekehrt. Funktionen die zu einer Form gehören, sollten imho auch da bleiben (kapselung). Alles andere in imho "grütze". (sorry).
Andersrum wäre es ja paradox; du musst ja der DLL die komplette Mainform mitgeben, damit sie weiss womit sie es zu tun hat. Das ist Coderedundanz und grosse Grütze. Da kannst ja gleich den DLL-Code ins Hauptprogramm integrieren.
Eine Dll stellt in der Regel Funktionen, Proceduren, Resourcen und Forms zur verfügung die von mehreren Instancen aufgerufen werden kann. Natürlich kann diese Werte verändern und auch zurückgeben. Aber auf (für die DLL) externe Objekte zugreifen? oje oje.
Aber vielleicht liege ich ja auch falsch.
grez
msch
bIce - Do 02.10.03 19:23
Auf die Objekte der Hauptanwendung von einer DLL aus ist einfach zuzugreifen. Im einfachsten Fall inkludierst Du die Units der Hauptanwendung in die DLL. Exportierst in der DLL eine Funktion, die z.B. Init(form : TForm1) heißt, und einem Objekt in der DLL die Referenz zuweist. Die Funktion rufst Du dann von der Hauptanwendung auf, und übergibst Self oder was auch immer als Parameter. Aber wie schon von MSCH erwähnt es gibt dann nur Probleme. Wenn Du so eine Art PlugIns für deine Anwendung schreiben willst, dann ist es besser eigene Klassen/Schnittstellen für die Hauptanwendung zu definieren, damit die Dlls auch nicht von der Entwicklungsumgebung abhängig sind (wegen VCL) wäre es noch besser wenn Die Hauptanwendung die ganzen Komponenten, die die DLL anfordert erzeugt. Noch besser ist es wenn Du ActiveX nimmst, aber da musst Du dich gut damit auskennen, weil Du vieles per Hand schreiben musst (also ohne den Typelibrary-Editor oder wie das heißt, weil die Funktionen nicht ausreichen).
Wenn der Text nicht verständlich war, poste ich irgenwann, wenn ich Zeit habe ein paar Beispiele.
Alex_ITA01 - Mo 06.10.03 11:43
Titel: danke
danke schön für die tips. ich würde mich sehr freuen wenn du mir da mal ein paar beispiele posten könntest.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!