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