Wenn ich {$IFDEF DESIGN_ONLY} verwende, meckert zwar der Compiler im Programm (das die Komponente verwendet) nicht mehr, aber der designtime-spezifische Komponenten-Code wird in der
IDE (also zur designtime) nicht mehr ausgeführt!
DESIGN_ONLY hätte in den Projektoptionen des Packages auf der Seite "Delphi-Compiler" unter Bedingungen eingetragen werden müssen.
Ich habe jetzt den Komponenten-Editor Code in eine andere
Unit ausgelagert und RegisterComponentEditor im initialization Abschnitt dieser
Unit aufgerufen. Ist das richtig?
Nein. Dafür gibt es die Register Prozedur, welche die
IDE beim Installieren des Packages ausführt.
Delphi-Quellcode:
unit FooEditor;
interface
procedure Register;
implementation
uses
DesignIntf;
procedure Register;
begin
RegisterComponentEditor(...);
end;
end.