Hallo Leute...
ich erhalte eine Zugriffverletzung, wenn ich einem Event meiner Klasse eine Funktion zuweise, ich weiß jedoch nicht woran es liegt...
Die Klasse
Delphi-Quellcode:
...
type
TSharkStatusEvent = procedure(Status: string);
TShark = class
private
FOnStatus: TSharkStatusEvent;
procedure SendStatus(Status: string);
public
property OnStatus:TSharkStatusEvent write FOnStatus;
procedure ParseFile(FilePath : string);
end;
var
Shark: TShark;
implementation
procedure TShark.ParseFile(FilePath: string);
begin
//Statusausgabe
SendStatus('Erhalte "' + FilePath + '" zum parsern...');
end;
procedure TShark.SendStatus(Status: string);
begin
//Prüfen ob eine Funktion abgelegt wurde
if Assigned(FOnStatus) then begin
//Senden an das Event
FOnStatus(Status);
sleep(10);
end;
end;
und hier der aufruf
Delphi-Quellcode:
program Parser;
{$APPTYPE CONSOLE}
{$WARNINGS ON}
uses
SysUtils,
Classes,
SharkParser;
{$R *.res}
procedure StatusWrite(Status: string);
begin
//Anzeigen das Statuses
Write(Status + #13#10);
sleep(2000);
end;
//Automatischer aufruf
begin
//Bildschirm
Write('#################################'+#13#10);
Write('##########SharkParser############'+#13#10);
Write('#################################'+#13#10#13#10);
//Kurze Pause
Sleep(2000);
//Laden der Datei
Write('Uebergebe ' + ParamStr(1) + ' an den Parser...'+#13#10);
Shark.OnStatus := StatusWrite; //Hier erhalte ich den Zugriffs fehler!
Shark.ParseFile(ParamStr(1)); //Parsen lassen
Write('Parsing abgeschlossen.'+#13#10);
Sleep(2000);
end.