Thema: Delphi Events überschreiben

Einzelnen Beitrag anzeigen

Mossi

Registriert seit: 6. Feb 2004
Ort: Wenzenbach
35 Beiträge
 
Delphi 7 Enterprise
 
#1

Events überschreiben

  Alt 31. Aug 2006, 14:55
ich hab ein kleines Problem beim Events überschreiben.
In so ziemlich jedem Tutorial wird als Beispiel immer TEdit mit dem Event OnKeyPress verwendet. Man überschreibt dann einfach die procedure KeyPress und schon klappt es. (Beispiel-Tutorial)

Jetzt möchte ich aber OnEnter überschreiben und hab dann mal gedacht, dass die dazugehörige Procedure sicherlich 'Enter' heißt. Als Fehler beim Compilieren bekomm ich dann aber
Code:
[Error] EnhEdit.pas(15): Method 'Enter' not found in base class
Welche Procedure muss ich in diesem Fall dann überschreiben? Bzw, wie bekommt man allgemein heraus, welche Procedure zu welchem Event gehört?

Die Unit EnhEdit sieht im moment folgendermaßen aus (vereinfachtes Beispiel):
Delphi-Quellcode:
unit EnhEdit;

interface

uses
  SysUtils, Classes, Controls, StdCtrls, Graphics;

type
  TEnhEdit = class(TEdit)
  private
    { Private declarations }
  protected
    { Protected declarations }
    procedure KeyPress(var Key: Char); override;
    procedure Enter; override;
  public
    { Public declarations }
  published
    { Published declarations }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('RHO', [TEnhEdit]);
end;

{ TEnhEdit }

procedure TEnhEdit.Enter;
begin
  inherited;

end;

procedure TEnhEdit.KeyPress(var Key: Char);
begin
  if not (Key in ['0'..'9']) then
    key:=#0;
  inherited KeyPress(Key);
end;

end.
  Mit Zitat antworten Zitat