Autor Beitrag
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: So 06.03.05 11:15 
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!

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: 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

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
wdbee
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 628
Erhaltene Danke: 1



BeitragVerfasst: 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.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 06.03.05 18:58 
Die BPL-Dateien kann man übrigens wie DLLs nutzen, nur dass man eben auch Klassen reinpacken kann.
wulfskin Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: 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!

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
wdbee
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 628
Erhaltene Danke: 1



BeitragVerfasst: 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.