![]() |
Notification bei Komponente abgeleitet von TControl
Ich bastle gerade eine Testkomponente, die von TComponent abgeleitet wird. Im Objektinspektor soll der Anwender später ein bestimmtes Editfeld (z.B. zur Ausgabe von Infos) auswählen können. Damit es aber bei der Freigabe der zugewiesenen Komponente nicht zu Problemen kommt, möchte ich den Zeiger auf das Editfeld per NOTIFICATION auf NIL setzen. Leider bekomme ich jedes mal beim Compilieren einen Fehler... wisst ihr woran es liegt?
Delphi-Quellcode:
unit BeispielComp;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Stdctrls; type TBeispielComp = class(TControl) private FEdit: TEdit; protected procedure Notification (AComponent: TComponent; Operation: TOperation); override; public constructor Create (AOwner: TComponent); override; published property Edit: TEdit read FEdit write FEdit; end; procedure Register; implementation constructor TBeispielComp.Create (AOwner: TComponent); begin inherited Create (AOwner); FEdit:=nil; end; procedure Notification (AComponent: TComponent; Operation: TOperation); begin inherited Notification(AComponent, Operation); {hier kommt der Fehler: "this form of method call only allowed in methods of derived types"} if (Operation=opRemove) and (AComponent=FEdit) then FEdit:=nil; end; procedure Register; begin RegisterComponents('Samples', [TBeispielComp]); end; end. |
Re: Notification bei Komponente abgeleitet von TControl
Hi,
Notification gehört zur Klasse, also:
Delphi-Quellcode:
Cu, Frank
// TBeispielComp. vergessen?
procedure TBeispielComp.Notification (AComponent: TComponent; Operation: TOperation); begin inherited Notification(AComponent, Operation); {hier kommt der Fehler: "this form of method call only |
Re: Notification bei Komponente abgeleitet von TControl
funktioniert es wenn du nur "inherited;" schreibst? Auch wenn mir das ganze etwas seltsam vorkommt, ich hatte bisher damit nie probleme.
[Edit]Hab meinen vorposter übersehen. Dann ist die Meldung klar. inherited geht nur bei Klassen. Da deine Procedure nicht der Klasse zugeordnet war ist der fehler logisch[/edit] |
Re: Notification bei Komponente abgeleitet von TControl
Oha... shice das is peinlich... und jetzt gehts sogar... hätte wohl mal besser nachlesen sollen... DANKE!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz