Das "normale" RegisterClass/RegisterComponent/RegisterNoIcon muß nicht in ein DesignTime
OnlyPackage.
Diese Funktionen verstecken sich in System.Classes (wenn die System.Classes in der
IDE geladen ist, dann trägt die
IDE dort die Zeiger zu den DesignMethoden ein).
Delphi-Quellcode:
procedure Register;
implementation
procedure Register;
begin
RegisterClass(TIrgendwas); //RegisterClasses([TIrgendwas, TNochmehr]);
end;
Also hier ein gemischtes
Package für Design und Runtime zu nutzen, wäre OK,
aber wenn man ein DesignTimePackage hat, dann kann es auch dort rein, damit man sein Designzeugs zusammen hat.
Und ja, ansonsten gehört in Runtime keinerlei Designzeugs.
In die
IDE muß es als
Package rein,
ins Programm wird das
Package nur geladen, wenn mit Laufzeitpackages kompilier wurde
und ansonsten würde der Code direkt in die EXE/
DLL eingelinkt.
Im letzeren Fall muß auch der Bibliothekssuchpfad zu *.dcu oder *.pas eingetragen sein
und bei Laufzeitpackages muß der DCP-Suchpfad zur *.dcp existieren (die eigentlichen
PAS/
DCU hier unwichtig).
Die *.bpl müssen in einem Umgebungsvariable eingetragen sein, wenn die EXE sonst diese Packages nicht finden würde. (z.B. im Programmverzeichnis liegend)
Der Suchpfad zu den *.pas braucht man auch noch, wenn man sonst nur gegen die Packages kompiliert, aber die Units dennoch im Editor/Debugger finden möchte.