Nun zum Debugger. Den hab ich schon mal laufen lassen, aber damit kann ich den Fehler nicht darstellen, da ich keine 2 Busse eintragen kann, bzw. weiß nicht wie.
Wieso denn nicht?
Ob das Progamm einzeln läuft oder in Delphi/Debugger ... du müßtest überall das Selbe eintragen können.
OK, zur Fehlersuche sollte man hier vieleicht noch so Einiges an Hilfsmitteln aktivieren.
- ReportMemoryLeaksOnShutdown := True;
... ist für die Speicherlecks, welche man bei solchem Code gerne mal erstellt.
Am Bensten in der Projektdatei (DPR), aber man kann es auch irgendwo anders hinschreiben. (z.B. im OnCreate der Hauptform)
Hauptsache es wird vor Programmende einmal gesetzt.
- dann noch in den Projektoptionen die Bereichsprüfung aktivieren ... für die Arrayzugriffe, wo Delphi die Indize nun prüfen wird
- und manchmal kann man auch mal die Überlaufprüfung, welche Überläufe bei Rechenoperationen (+-*/) prüft
z.B.
Delphi-Quellcode:
var x: Cardinal
x := 0;
x := x - 1;
ShowMessage(IntToStr(x));
was ja eigentlich nicht geht, da in Cardinal keine negativen Werte reinpassen
Ich soll es aber mit Pointer machen, hat mein Ausbilder gesagt, zur Übung.
Hoffentlich nur zur Übung.
In einem Produktivcode sollte man dann natürlich "ordentlich" arbeiten