Hi Leute,
ich sitze seit etlichen Stunden über einer
Exception, die ich mir nicht erklären kann. Sobald mein Programm die Funktion "FormCloseQuery" aufruft, kann ich maximal ein ShowMessage('BLABLABLA') ausführen. Danach kommt sofort eine Zugriffsverletzung, die ich nicht orten kann. Es ist egal, ob ich mit canclose das Beenden verbiete oder nicht - die
Exception bleibt da.
Seltsamerweise fährt das Programm auch manchmal ganz normal herunter... demnach vermute ich den Fehler in einer der zahlreichen Komponenten (ein paar Jedis, CHPack, etc.).
Hat jemand so ein Problem schonmal gehabt, bzw. könnte mir Tipps geben, wo ich anfangen soll zu suchen?
Delphi-Quellcode:
procedure TMainform.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
text:string;
beenden: TCloseAction;
begin
ShowMessage('BLABLABLA'); // hiernach krachts im Code... keine Ahnung warum - manchmal klappts auch fehlerfrei(!?!?!?!)
if messagedlg('Programm jetzt beenden?',mtConfirmation,[mbYes,mbNo],0)=mrNo then
begin
canclose:=false;
end;
end;
Ich nutze unter anderem die JCL Debug-Funktionen und habe zeitgleich die MadException-Erweiterung installiert - hatte bislang aber keine Probleme gemacht. Das Programm nutzt zusätzlich die Delphi-Übersetzungstools. (ich glaube jetzt habe ich die wichtigsten Rahmenpunkt abgearbeitet).
Also ein ganz klares "HILFE"!
Besten Dank für ein paar Ideen.
PS: die Meldung (hilft aber nicht viel):
EAccessViolation
Zugriffsverletzung bei Adresse 004A660F in Modul 'PC_DIMMER.exe'. Lesen von Adresse 20726584.