Einzelnen Beitrag anzeigen

Dejan Vu
(Gast)

n/a Beiträge
 
#11

AW: Allgemein: Wie findet man einen Fehler?

  Alt 12. Dez 2014, 10:07
wie du da sinnvoll die Asserts einbaust weiss ich auch gerade nicht...Wie stellst du denn sicher, dass z nie grösser wird als die Stringlist?
Mit einem Assert

Delphi-Quellcode:
procedure TForm1.TimerEventExecute(Sender: TObject);
begin
  Assert((z>=0) and (z<sl.count),'z ist zu klein oder größer als die Länge von sl'); // <<<<<
 chrd := sl.Strings[z];
 If chrd <> 'then PlaySound(PChar(chrd), hInstance, snd_ASync or snd_Resource);
 inc(z);
end;
Es knallt an einer definierten Stelle und nicht 'irgendwo'. Obwohl das 'irgendwo' nun gerade die nächste Zeile ist, insofern... Ist das weniger FailFast und eher 'debug-code'. Aber im ein "Assert" ist es...
  Mit Zitat antworten Zitat