Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
20. Apr 2010
Wie gesagt, TInputBlock ist ja nun selber das Panel, also wenn man es richtig initialisiert.
type TInputBlock = class(TPanel)
private
FEdit: TEdit;
FOnChange: TNotifyEvent;
...
protected
procedure Change(Sender: TObject);
...
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
20. Apr 2010
Eine Komponente sollte natürlich von TComponent abgeleitet sein. :zwinker:
Leite deinen TInputBlock von TPanel ab und positioniere seine Objekte (Edit, Label und Co.) in diesem.
(vielleicht noch den Rahmen des Panels im Constructor verstecken)
Dann verpaß deinem TInputBlock ein neues öffentliches Property OnChange und eine interne Methode Change.
Das Edit wird dann im Constructor...
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
20. Apr 2010
Jetzt seh ich das gerade...
Deine Komponente ist ein "TEdit" und sie erzeugt intern nochmals ein TEdit, welches sie aber extern verwalten läßt, von einem femden TPanel, welches als Parent und Owner des Edits fungiert .... wieso?
Somit sind es ja nun 2 Edits.
TInputBlock erzeugt das Edit, also sollte das Edit auch dessen Besitz bleiben.
Wenn du den Namen nicht wirklich brauchst, dann...