Zugriffsverletzung beim Debuggen
30. Nov 2004, 20:50
Hallo zusammen!
Beim Debuggen einer bestimmten Funktion stürzt Delphi mit einer Zugriffsverletzung in der User32.dll ab.
Das Programm selbst stürzt nicht ab, sonder tatsächlich Delphi bzw. der Debugger.
Durch googeln hab' ich jetzt heraus bekommen, daß es wohl an der Anzahl und der Größe der Parameter liegt, die beim Aufruf über den Stack gehen.
Als Parameter hatte ich einige boolsche Werte und ein paar größere Records (enthalten jeweils 16 Werte vom Typ Double) vorgesehen. Weil mir bewußt war, daß die Records ziemlich groß sind, hab' ich sie extra als const Parameter angelegt, aber das hatte nicht den gewünschten Erfolg, auch als var Parameter konnte ich die Funktion nicht debuggen.
Erst als ich die Records als Zeiger übergeben habe, konnte ich wieder debuggen ohne das Delphi dabei abstürzt.
Es gibt also schon eine Lösung für mein Problem, aber die empfinde ich jetzt eher als Workaround.
Kennt einer von Euch eine echte Lösung?
Ich war bisher immer davon aus gegangen, daß Delphi die const und var Parameter als Referenzen, also quasi
als Zeiger auf die orignalen Werte übergibt? Zumindest der Debugger scheint da anderer Meinung zu sein.
__________________________________________________ __
Delphi 6 Prof. Update Pack 2, Windows 2000 SP4
|