Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: TIniFile und Terminal-Server

  Alt 15. Nov 2013, 12:23
Einfach mal mehrere Programme/Threads mit diesem Code ausführen und die 10 Minuten warten, ob es knallt.
Delphi-Quellcode:
with TIniFile.Create('text.ini') do
  try
    Ident := 'Ident' + IntToStr(GetCurrentThreadId);
    Start := GetTickCount;
    Errors := 0;
    Counter := 0;
    while GetTickCount - Start < 1000*60*10 do begin // 10 Minuten testen
      WriteInteger('Section', Ident, Counter);
      Value := ReadInteger('Section', Ident, -1);
      if Value <> Counter then
        Inc(Errors);
      Inc(Counter);
    end;
    if Errors <> 0 then
      raise Exception.CreateFmt('%d Errors', [Errors]);
  finally
    Free;
  end;
oder
Delphi-Quellcode:
with TIniFile.Create('text.ini') do
  try
    Ident := 'Ident' + IntToStr(GetCurrentThreadId);
    Start := GetTickCount;
    Value := ReadInteger('Section', Ident, 0); // richtiger Startwert, falls es diese Datei schon gibt.
    Counter := Value;
    while GetTickCount - Start < 1000*60*10 do begin // 10 Minuten testen
      Value := ReadInteger('Section', Ident, 0);
      WriteInteger('Section', Ident, Value + 1);
      Inc(Counter);
      Sleep(Random(100));
    end;
    if Value <> Counter then
      raise Exception.CreateFmt('Error (%d <> %d)', [Value, Counter]);
  finally
    Free;
  end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat