Ich habe nun eine Komponente als DesignPattern entworfen. Diese wird nicht in der Komponenten-Library registriert. Von dieser Komponente ausgehend leite ich Klassen ab, welche als Komponente letztendlich registriert werden. Eingebunden wird das D-Pattern ganz normal unter "interfaces, uses".
Ich erstelle zur Zeit 2 Packages. Ein
Package für das Register "Beta" und eines für das Register "Stable".
Sobald ich eines der beiden Packages eingebunden habe, will das nächste
Package das erste
Package als "required" zusätzlich einbinden. Und das verstehe ich nicht.
Ich mein, ich binde schließlich auch "Classes" wie üblich unter "uses" mit ein. Aber dies ist keine ursache für ein "required" des anderen Packages.
Das DesignPattern sieht folgendermaßen aus ...
Delphi-Quellcode:
unit DkComponentDesignPattern;
interface
uses
Classes;
type
TDkComponentDesignPattern =
class( TComponent )
protected
procedure Test
( pComponent : TComponent; pOperation : TOperation );
override;
end;
implementation
procedure TDkComponentDesignPattern.Notification
( pComponent : TComponent; pOperation : TOperation );
begin
inherited Notification( pComponent, pOperation );
if ( pOperation = opRemove )
then
pComponent :=
nil;
end;
end.
Eine registrierte Komponente baut sich folgendermaßen auf ...
Delphi-Quellcode:
unit DkTest;
interface
uses
Classes,
DkComponentDesignPattern;
type
TDkTest =
class( TDkComponentDesignPattern )
end;
procedure Register
( );
implementation
procedure Register
( );
begin
RegisterComponents( '
Beta', [ TDkTest ] );
end;
end.
Es sollte doch auch funktionieren beide Packages unabhängig voneinander zu erstellen.