Entwickler-Ecke

Sonstiges (Delphi) - Klasse in DLL auslagern


wulfskin - So 06.03.05 11:15
Titel: Klasse in DLL auslagern
Hallo,

ich habe eine sehr aufwendige Klasse programmiert und diese möchte ich jetzt in eine DLL auslagern. Wie ist sowas am einfachsten möglich? Also ich möchte möglichst wenig an der Klasse verändern.

Jemand eine Idee?

Gruß Hape!


Delete - So 06.03.05 16:13

Klassen in eine DLL auslagern ist immer eine schlechte Idee. Sehr aufwendig, nicht einfach zu realisieren und die DLL kann sehr schlecht bis gar nicht mit anderen Programmiersprachen genutzt werden. Lass es beliben oder nutze bpl Dateien das DLL Format von Borland.


wulfskin - So 06.03.05 18:47

Hallo,

danke Luckie für den Tipp. Wo finde ich mehr Informationen zu diesem Format, bzw. wie erstelle ich solch eine bpl-Datei?

Viele Grüße,
Hans-Peter


wdbee - So 06.03.05 18:56

Delphi: Menüpunkt Komponente - Komponente installieren - in ein neues Package
Namen der Unit (per durchsuchen)
Name des Package (per durchsuchen)
Beschreibung: Dein Text

Im Prinzip ist das schon alles. Aber setzt vorher vernünftige Pfade in der IDE für *.bpl-Dateien und *.dcp-Dateien, sonst suchst du dich dusselig, wenn du mal dein Projekt auf einem anderen Rechner laufen lassen willst.


Delete - So 06.03.05 18:58

Die BPL-Dateien kann man übrigens wie DLLs nutzen, nur dass man eben auch Klassen reinpacken kann.


wulfskin - So 06.03.05 20:03

Ok, vielen Danke euch beiden,

ich werds mal versuchen, obwohl ich nicht so recht verstehe, wie das mit dem Laden und Aufrufen der Klasse in der BPL-Datei funktionieren soll.

Gruß Hape!


wdbee - So 06.03.05 21:01

Das ist das einfachste, denn wenn du mal genau hinschaust, arbeitest du ständig mit BPL-Dateien, ohne es zu merken!

Delphi: Komponente - Packages installieren - Hinzufügen
Bei der Frage "wird kompiliert" oder so ähnlich gebe ich immer erst mal nein an.
Dann kommt ein Fenster, mit einer Liste der enthaltenen Units und einem Options-Button.
Da stelle ich unter Optionen erstmal brauchbare projektspezifische Pfade und Suchpfade ein.
Erst danach compilieren und installieren.
Wenn du das mal gemacht hast wirst du das für alle deine wiederverwendbaren Units so nutzen, und das sollten doch möglicht alle sein. :)
Zur Pflege kommst du dann mit
Delphi: Komponente - Packages installieren - Bearbeiten
wieder zu der Liste und kannst per Doppelklick die Datei im Editor öffnen, ändern, kompilieren usw.

Ein bisschen Vorsicht mit den DCUs. Beim compilieren der BPL entstehen die DCUs. Wenn du ein Project bearbeitest und dabei den Suchpfad so hast, dass die Quellen (für den Debugger) gefunden werden, dann compiliert das Project bei Bedarf (Änderungen an der Quelldatei aus der BPL) die neu und legt sie an der projektspezifischen Stelle ab. Dann hast du zwei verschiedene Verhalten, jenachdem ob du im Designer arbeitest oder das Programm läuft.

Aber bei Problemen weißt du ja, wohin du dich wenden musst.