Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: unnamed TEvent verwenden?

  Alt 9. Dez 2011, 22: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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat