Entwickler-Ecke
Programmierwerkzeuge - Eigene Komponente richtig installieren
j0hnny - Fr 29.10.10 20:54
Titel: Eigene Komponente richtig installieren
Guten Tag!
Ich habe eine kleine eigene Komponente unter Delphi 2010 programmiert, die auf TEdit basiert.
Ich habe ein Package erstellt, das unter "contains" die pas-Datei mit dem Quellcode enthält. Projekt (dproj), Package (dpk) und Quellcode (pas) liegen in einem Verzeichnis. Um die Komponente zu nutzen, öffne ich das Projekt und installiere das Package. Wenn ich jetzt die Komponente auf ein Form ziehe, meckert er eine fehlende dcu-Datei an. Dafür kopiere ich die kompilierte pas-Datei (dcu) in den Delphi lib-Ordner.
Jetzt will ich aber die Komponente verändern und testen. Dafür müsste ich immer wieder die dcu ins lib-Verzeichnis kopieren, oder die pas-Datei in das Projekt einbinden. Gibt es vielleicht dazu eine Möglichkeit die Kompetente an die pas-Datei (bzw die dcu Datei), die sich in dem Verzeichnis befindet, in dem auch die anderen Dateien liegen, zu binden?
Beziehungsweise, wenn ich die Komponente weitergeben möchte. Gibt es da eine Möglichkeit, dass beim Installieren des Packages die dcu-Dateien in dem Verzeichnis automatisch verknüpft werden, oder automatisch kopiert werden?
Vielen Dank und Grüße
Moderiert von
Martok: Topic aus VCL (Visual Component Library) verschoben am Sa 30.10.2010 um 00:17
jaenicke - Fr 29.10.10 21:07
j0hnny hat folgendes geschrieben : |
Dafür kopiere ich die kompilierte pas-Datei (dcu) in den Delphi lib-Ordner. |
Wozu? Da hat die nix zu suchen...
Du brauchst nur den Ordner, in dem die liegt, in den Optionen dem Bibliothekspfad hinzuzufügen.
j0hnny - Sa 30.10.10 11:20
Vielen Dank für die schnelle Antwort. Das hatte ich auch schon probiert, aber ich hatte den Pfad wohl an der falschen Stelle eingetragen. Jetzt funktioniert es auf jeden Fall.
Allerdings läuft es momentan nur auf meinem Delphi. Gibt es vielleicht noch eine komfortablere Variante, wo der Suchpfad automatisch eingetragen wird oder eine andere Möglichkeit? Bei kommerziellen Komponenten muss man doch auch nicht den Pfad nach der Installation selber eintragen, oder? Die Komponente soll nämlich in einer Firma auf mehreren Rechnern verwendet werden. Da wäre es schon ziemlich umständlich, wenn jeder den Pfad von Hand eintragen müsste.
Und wie teste ich eigentlich am besten die Komponenten? Wenn ich die pas-Datei verändere und den Suchpfad eingetragen habe, wie kriege ich dann hin, dass er automatisch die neue pas-Datei kompiliert und nicht die vorkompilierte dcu verwendet.
Sorry, sind viele Fragen. Aber bin ziemlich neu auf dem Gebiet.
Grüße
Delete - Sa 30.10.10 13:21
Kopiere sie in den aktuellen Programmordner - der hat Vorrang vor allen weiteren evtl. vorhandenen *.pas- und *.dcu-Files.
j0hnny - Sa 30.10.10 13:40
Ok, danke! Jetzt funktioniert eigentlich alles wie es soll. Nur das mit der Weitergabe wäre noch toll, wenn das irgendwie automatisiert funktionieren würde.
jaenicke - Sa 30.10.10 14:34
j0hnny hat folgendes geschrieben : |
Und wie teste ich eigentlich am besten die Komponenten? Wenn ich die pas-Datei verändere und den Suchpfad eingetragen habe, wie kriege ich dann hin, dass er automatisch die neue pas-Datei kompiliert und nicht die vorkompilierte dcu verwendet. |
Du kannst die .pas einfach dem Projekt hinzufügen. ;-)
j0hnny hat folgendes geschrieben : |
Nur das mit der Weitergabe wäre noch toll, wenn das irgendwie automatisiert funktionieren würde. |
Dafür gibt es in den JEDIs entsprechende Routinen.
Ich habe das ganze experimentell auch schon gebastelt (scheint überall zu klappen mit dem Kompilieren und so), aber zu dem Tool den Quelltext nicht mit weitergegeben. Ich kann da aber gerne ein wenig helfen.
HelgeLange - Sa 30.10.10 15:17
Kommerzielle Komponenten tragen sich in den Suchpfad für Delphi ein. Das steht in der Registry unter dem Delphi, welches Du benutzt. Im Menü Tools gehst Du unter Optionen und im TreeView unter Environtment->Delphi Options->Library Win32, dort im ersten Edit "Library".
Zumindest für mein kommerzielles Paket mach ich das so, dass die sich automatisch dort eintragen und ich hab es auch bei anderen Paketen wie Raize oder RX gesehen.
j0hnny - Sa 30.10.10 15:29
Vielen Dank für eure Hilfe.
Dann werd ich das wohl mit dem Lib-Pfad eintragen machen. Ich denke ich werde mir da auch mal was basteln, wenn die Komponente komplett ist.
Grüße
jaenicke - Sa 30.10.10 15:48
Damit ist es aber nicht getan. Dazu kommt noch, dass die Komponente noch kompiliert werden muss, es sei denn man liefert fertig kompilierte Versionen für die verschiedenen Delphi-Versionen mit aus (wie bei kommerziellen Komponenten üblich).
HelgeLange - So 31.10.10 00:24
Man kann es auch machen wie ich in meinem Installer für den Source und die Komponenten beim Installieren mit dem installierten Delphi per dcc32 compilieren.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!