Einzelnen Beitrag anzeigen

Benutzerbild von Desmulator
Desmulator

Registriert seit: 3. Mai 2007
Ort: Bonn
169 Beiträge
 
#1

Fehler bei Funktionszuweisung

  Alt 20. Dez 2007, 13:35
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.
Lars
  Mit Zitat antworten Zitat