Autor |
Beitrag |
j0hnny
      
Beiträge: 30
|
Verfasst: Fr 29.10.10 20:54
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
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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 
      
Beiträge: 30
|
Verfasst: 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
|
|
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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 
      
Beiträge: 30
|
Verfasst: 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
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 30.10.10 14:34
|
|
HelgeLange
      
Beiträge: 735
Erhaltene Danke: 6
Windows 7
Delphi7 - Delphi XE
|
Verfasst: 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.
_________________ "Ich bin bekannt für meine Ironie. Aber auf den Gedanken, im Hafen von New York eine Freiheitsstatue zu errichten, wäre selbst ich nicht gekommen." - George Bernhard Shaw
|
|
j0hnny 
      
Beiträge: 30
|
Verfasst: 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
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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
      
Beiträge: 735
Erhaltene Danke: 6
Windows 7
Delphi7 - Delphi XE
|
Verfasst: 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.
_________________ "Ich bin bekannt für meine Ironie. Aber auf den Gedanken, im Hafen von New York eine Freiheitsstatue zu errichten, wäre selbst ich nicht gekommen." - George Bernhard Shaw
|
|
|