Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi CreateEvent in einer Klasse (https://www.delphipraxis.net/143172-createevent-einer-klasse.html)

RWarnecke 11. Nov 2009 09:10


CreateEvent in einer Klasse
 
Hallo zusammen,

ich habe folgendermassen eine Klasse aufgebaut :
Delphi-Quellcode:
  TTest = class(TObject)
  private
    procedure Test(Test:string);
  public
    { Public Deklaration }
  end;

procedure TTest.Test(Test:string);
var
  hScanCompleteEvent : THandle;
begin
  hScanCompleteEvent := CreateEvent(nil, False, False, nil);

  {...}

  WaitForSingleObject(hScanCompleteEvent, INFINITE);
end;
Wenn ich jetzt diese Procedure über ein Property aufrufe, bekomme ich eine EAccessViolation bei WaitForSingleObject. Kann ich keinen CreateEvent innerhalb einer Klasse benutzen oder mache ich etwas Falsch ?

Uwe Raabe 11. Nov 2009 11:36

Re: CreateEvent in einer Klasse
 
Der bisher gezeigte Code sollte problemlos funktionieren, wenn CreateHandle einen gültigen Wert zurückgibt. Sollte das der Fall sein, liegt das Problem in dem ausgepunkteten Teil des Codes...

RWarnecke 11. Nov 2009 12:03

Re: CreateEvent in einer Klasse
 
Es ist nur komisch, dass er jedesmal bei der Zeile WaitForSingleObject mit der Fehlermeldung aussteigt beim Debuggen. Alles im ausgepunkteten Teil kann ich Problemlos mit F8 durchgehen. Liegt das ganze dann trotzdem an dem ausgepunkteten Teil ? Wenn ja, muss ich den nochmal durcharbeiten.

Luckie 11. Nov 2009 12:06

Re: CreateEvent in einer Klasse
 
Exceptions treten meist in der nachgfolgenden Zeile auf, bzw. dort bleibt der Debugger dann stehen. Ist genauso wie mit dem Auto vor eine Wand fahren. Die Feuerwehr (Debugger) ist erst da, wenn der Wagen schon zerlegt vor der Wand hängt. ;)

RWarnecke 11. Nov 2009 12:08

Re: CreateEvent in einer Klasse
 
Danke Michael, für Deinen super Vergleich. :thumb: Dann werde ich heute Nachmittag schauen, warum das Auto gegen die Wand fährt.

Luckie 11. Nov 2009 12:22

Re: CreateEvent in einer Klasse
 
Eigentlich wäre Spurensicherung der Polizei besser als Vergleich für den Debugger. ;)

RWarnecke 11. Nov 2009 20:16

Re: CreateEvent in einer Klasse
 
Hallo zusammen,

danke für eure Antworten, es lag wirklich an dem letzten Befehl vor WaitForSingleObject. Ich hatte da etwas mit Pointer durcheinander gebracht, aber jetzt funktioniert es.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz