Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

AW: unnamed TEvent verwenden?

  Alt 9. Dez 2011, 23:01
Delphi-Quellcode:
uses
  SyncObjs;

var
  E, E2: TEvent;

E := TEvent.Create(nil, True, False, 'fdfcyxvcx123');
Memo1.Lines.Add(SysErrorMessage(GetLastError));
E2 := TEvent.Create(nil, True, False, 'fdfcyxvcx789');
Memo1.Lines.Add(SysErrorMessage(GetLastError));
if E2.WaitFor(100) = wrTimeout then
  Memo1.Lines.Add('Timeout: v1');
E.SetEvent;
if E2.WaitFor(100) = wrTimeout then
  Memo1.Lines.Add('Timeout: v2');
E2.SetEvent;
if E2.WaitFor(100) = wrTimeout then
  Memo1.Lines.Add('Timeout: v3');
E2.Free;
E.Free;

E := TEvent.Create(nil, True, False, 'fdfcyxvcx456');
Memo1.Lines.Add(SysErrorMessage(GetLastError));
E2 := TEvent.Create(nil, True, False, 'fdfcyxvcx456');
Memo1.Lines.Add(SysErrorMessage(GetLastError));
if E2.WaitFor(100) = wrTimeout then
  Memo1.Lines.Add('Timeout: g1');
E.SetEvent;
if E2.WaitFor(100) = wrTimeout then
  Memo1.Lines.Add('Timeout: g2');
E2.SetEvent;
if E2.WaitFor(100) = wrTimeout then
  Memo1.Lines.Add('Timeout: g3');
E2.Free;
E.Free;

E := TEvent.Create(nil, True, False, '');
Memo1.Lines.Add(SysErrorMessage(GetLastError));
E2 := TEvent.Create(nil, True, False, '');
Memo1.Lines.Add(SysErrorMessage(GetLastError));
if E2.WaitFor(100) = wrTimeout then
  Memo1.Lines.Add('Timeout: u1');
E.SetEvent;
if E2.WaitFor(100) = wrTimeout then
  Memo1.Lines.Add('Timeout: u2');
E2.SetEvent;
if E2.WaitFor(100) = wrTimeout then
  Memo1.Lines.Add('Timeout: u3');
E2.Free;
E.Free;
Jupp, sieht gut aus ... na dann bin ich mal beruhigt.

Danke nochmal für den Denkanstoß mit GetLastError.
Irgendwie war ich hier garnicht auf die Idee gekommen, daß man einen Status als Fehlercode verstecken könnte.
$2B or not $2B
  Mit Zitat antworten Zitat