Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Apollonius,
3. Mai 2008
Beispiel:
program VirtualMethodsTest;
type
TAncestor = class
procedure TestMethod; virtual;
end;
TDescendent = class(TAncestor)
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Apollonius,
3. Mai 2008
Override ist ein Schlüsselwort, dass nicht ersetzt werden kann. Es gibt keine Alternative dazu.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Apollonius,
3. Mai 2008
:shock: Das dürfte eigentlich nicht funktionieren. Du solltest statt reintroduce override verwenden.
Außerdem kannst du deine If-Abfrage etwas vereinfachen.
Gewöhnlich verwendet man für die Eigenschaft den Custom*-Typ. Dadurch wird gewährleistet, dass auch weiterentwickelte Comboboxen benutzt werden können.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Apollonius,
3. Mai 2008
Notification wird immer dann aufgerufen, wenn der Owner deiner Komponente (bei zur Design-Zeit erstellten Komponenten ist dies das Formular) eine neue Unterkomponente erhält oder eine Unterkomponente zerstört wird. Operation ist dabei entweder opInsert oder opRemove und AComponent die Komponente.
In deiner überschriebenen Notification-Methode musst du also prüfen, ob AComponent deine Combobox...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Apollonius,
3. Mai 2008
Du brauchst keinen Setter, musst aber die Methode Notification überschreiben und beim Löschen der Combobox dein Feld auf nil setzen.