Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Property-Editor verwenden (https://www.delphipraxis.net/63706-property-editor-verwenden.html)

luckystar85 21. Feb 2006 21:48


Property-Editor verwenden
 
Ich habe wie vorgeschlagen (Problem) einen PropertyEditor geschrieben und das läuft auch ganz gut, nur habe ich jetzt das Problem das ich wenn ich meine Anwendung compiliere die Meldung bekomme "Proxy.dcu nicht gefunden". Hier im Forum habe ich auch eine Lösung gefunden, aber wenn ich das "Run Time-Package" compiliere meckert er das die Komponente schon in einem anderem Package verwendet wird und darum nicht compiliert werden kann. Jetzt kann ich meine Anwendung nicht mehr compilieren. Habt ihr dafür eine Lösung?

SirThornberry 21. Feb 2006 21:57

Re: Property-Editor verwenden
 
die altbekannte Fehlermeldung. Am besten kommst du wenn dein ein Package hast, darin eine Unit die das ganze Register-zeugs übernimmt und dann eine Unit mit Property- und Componenteditoren. Da in deiner Komponentenunit dann nirgends der Propertyeditor in den uses auftaucht hat sich das problem erledigt und das ganze ist nebenbei recht übersichtlich
Code:
- Package
  - RegisterUnit (Enthält RegisterComponents etc.)
  - EditorenUnit (enhält die PropertyEditoren (kann notfalls auch direkt in die RegisterUnit)
  - Eigentliche Komponenten Units

luckystar85 21. Feb 2006 22:22

Re: Property-Editor verwenden
 
Ich habe aber immernoch das Prob das ich die Anwendung nicht compilieren kann, wegen fehlender Proxy.dcu und 2. Packages kann ich auch nicht erstellen, weil die Kompo schon in einem anderen ist.

SirThornberry 21. Feb 2006 22:29

Re: Property-Editor verwenden
 
der Fehler mit der Proxy-DCU kommt eben weil du versuchst einen Property-Editor in ein Rumtime-Package zu packen. Wenn du das Package auf Entwurfszeit lässt (und den Propertyeditor so ausgliederst das er in keiner unit vorkommt(in den uses auftaucht) die im compilierten Programm auftaucht) bekommst du auch keine Probleme. Und die doppelte Verwendung einer unit in mehreren Packages geht auch in dem du einfach die unit nicht direkt dem package hinzufügst sondern einfach nur in den uses einer der hinzugefügten Units nutzt (also zum Beispiel in der RegisterUnit)
Natürlich ist es nicht möglich eine Komponente 2 mal zu registrieren (also in 2 packages) oder falls es bereits eine Komponente mit gleichem Klassennamen gibt.

luckystar85 21. Feb 2006 22:35

Re: Property-Editor verwenden
 
Ja, das ist mir alles klar, aber ich kann ja meine Anwendung (dpr+Form) nicht compilieren wo ich die Komponente drin verwende. Wenn ich das dpr compiliere kommt die Meldung das die proxy.dcu nicht gefunden werden konnte. das package geht problemlos.

SirThornberry 21. Feb 2006 22:39

Re: Property-Editor verwenden
 
ist klar. Im package stört das nicht. Du scheinst aber irgendwie in der unit wo deine Komponente drin ist auch die unit für die Propertyeditoren eingebunden zu haben bzw. dort den Property-Editor drin. Du darfst eben in der DPR-Datei (bzw. dem dazugehörigen projekt) auf keine art und weiße einen property-editor einbinden (zumindest nicht die register-methoden).

luckystar85 21. Feb 2006 22:41

Re: Property-Editor verwenden
 
Alles klar, jetzt habe ich verstanden. Das darf nirgendwo auftauchen. Denn funzt es auch.
Vielen Dank für deine Hilfe und deine Geduld.

SirThornberry 21. Feb 2006 22:43

Re: Property-Editor verwenden
 
genau, nirgendwo in dem Projekt woraus die Exe entsteht (auch nicht irgendwie über umwege in den uses). Die Units mit dem Property-Editor dürfen nur im Packageprojekt in den uses auftauchen, müssen also außerhalb der Unit sein die du später in einem Programm nutzt.

Sinn des ganzen: Somit soll verhindert werden das die Property-Editoren die teilweise mit Copyright versehen sind mit ausgeliefert werden (die würden ja sonst mit rein kompiliert und könnten genutzt werden).


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz