Autor Beitrag
j0hnny
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: 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 user profile iconMartok: Topic aus VCL (Visual Component Library) verschoben am Sa 30.10.2010 um 00:17
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 29.10.10 21:07 
user profile iconj0hnny hat folgendes geschrieben Zum zitierten Posting springen:
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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



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



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 30.10.10 14:34 
user profile iconj0hnny hat folgendes geschrieben Zum zitierten Posting springen:
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. ;-)

user profile iconj0hnny hat folgendes geschrieben Zum zitierten Posting springen:
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 735
Erhaltene Danke: 6

Windows 7
Delphi7 - Delphi XE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 735
Erhaltene Danke: 6

Windows 7
Delphi7 - Delphi XE
BeitragVerfasst: 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