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 RegisterClass und dll (https://www.delphipraxis.net/102414-registerclass-und-dll.html)

hanspeter 28. Okt 2007 13:09


RegisterClass und dll
 
Hallo,
ich bin gerade dabei ein größeres Projekt unter Verwendung des Hydra-Frameworks zu modularisieren.

Eine Reihe von Kauftools verwenden im Initialisierungsteil die Anweisung RegisterClass.
z.B. Fastreport oder TMS-Grids.
Das Projekt kompiliert fehlerfrei.
Jedoch beim Laden der dll, versucht ein eingebundenes Tool RegisterClass aufzurufen und hier kommt
dann die Fehlermeldung EFilererror - Klasse existiert bereits.

Gibt es eine Möglichkeit, das nochmalige Registrieren aus der dll heraus zu verhindern.
Alternativ ist dann wohl die Verwendung der betroffenen Module als Laufzeitbibliothek notwendig, was mir nicht sehr sympatisch wäre.
Für einen Tip dankbar.

Gruß
Peter

peschai 29. Okt 2007 05:19

Re: RegisterClass und dll
 
Hallo,
Sei bitte vorsichtig, so etwas zu ignorieren. Diesen Schutzmechanismus gibt es nicht umsonst. Unterschiedliche Klassen unter demselben Namen zu registrieren wäre "deadly...". Unterschiedlich kann auch schon sein, daß die versionsstände nicht passen und dann dein Programm abstützt.

Gib uns mal den Klassen namen und die Fremdkomponenten-Namen wo das Problem auftritt.
Eventuell kann dann jemand aus dem Forum helfen. :???:

hanspeter 29. Okt 2007 11:35

Re: RegisterClass und dll
 
Zitat:

Zitat von peschai
Hallo,

Gib uns mal den Klassen namen und die Fremdkomponenten-Namen wo das Problem auftritt.
Eventuell kann dann jemand aus dem Forum helfen. :???:

Das Problem tritt mit allen Komponmenten, welche Registerclass verwenden auf, wenn diese
auf eine Form gezogen werden, welche in der dll verwendet wird.
Hatte ich oben bereits geschrieben z.B. TMS-Grid, Fastreport 4 u.s.w.
Ich vermute, dass man diese Komponenten als Laufzeitkomponenten verwenden muss.
Das wäre wenig angenehm, da die dll, in Delphi geschrieben, aus Net heraus aufgerufen werden soll.

Hat wer noch einen Tip zu diesem Problem?


Mit Gruß Peter

hanspeter 29. Okt 2007 12:35

Re: RegisterClass und dll
 
Und noch eine erschreckende Feststellung.
Der gleiche Quellcode funktioniert unter Delphi7 problemlos.
Der Fehler tritt erst auf, wenn mit D2007 kompiliert wird.

der Unterschied ist, dass in D7 Classes.RegisterClass(TDBGridColumnItem)
und in D2007 RegisterClass(TDBGridColumnItem) aufgerufen wird.



Gruß
Peter


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:12 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