Thema: Delphi TNotifyEvent = nil

Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

TNotifyEvent = nil

  Alt 27. Mär 2006, 12:13
Hi,

Also ich habe ein kleines Problem^^
Ich bin gerade eine Klasse für nen Clienten am Schreiben.

Delphi-Quellcode:
TClientSocket = class
  private
    FOnConnect: TNotifyEvent;
    ...
  public
   function Connect(const Timeout: Integer = -1): Boolean;
   property OnConnect: TNotifyEvent read FOnConnect write SetOnConnect;
   ...
end;

function TClientSocket.Connect(const Timeout: Integer = -1): Boolean;
begin
 // bla bla
 OnConnect;
end;
Das klappt soweit. Aber wenn ich OnConnect nichts bzw nil zweise gibts eine Zugriffsverletzung. Da hab ich mir gedacht:

Delphi-Quellcode:
procedure TClientSocket.SetOnConnect(const Value: TNotifyEvent);
begin
  if Value = nil then
   FOnConnect := Value
  else FOnConnect := Default; // Default ist ne Leere Procedure(Sender: TObject)
end;
Nur dummerweise gibt es Probleme bei der If-Abfrage.. Er will bei Value einen Parameter. Wenn ich einen Parameter angebe dann heißt es "Inkompatible Typen".. Warum kann man denn einem TNotifyEvent nil zuweisen aber nicht abfragen ob es nil ist ? -.-

Gruß
Neutral General
Michael
  Mit Zitat antworten Zitat