![]() |
Fehler beim Prorammstart, wie debuggen ?
mein Programm stützt direkt beim Programmstart ab
mein Form hat keine onCreate , onShow Funktionen madexcept liefert diesen Dump - ist madexcept die Ursache und nicht die Lösung ... erwarte andere AV im Code, der wird aber erst später aufgerufen
Delphi-Quellcode:
compiled with : Delphi 10.4 Sydney
madExcept version : 5.1.0 callstack crc : $171d1ad5, $9917af7d, $9917af7d exception number : 1 exception class : EAccessViolation exception message : Access violation at address 00000000004072A2 in module 'DebugVCL.TST.exe'. Read of address FFFFFFFFFFFFFFFF. thread $490: 004072a2 +012 DebugVCL.TST.exe System 796 +4 Move56 00407f8f +0bf DebugVCL.TST.exe System 4524 +632 SysReallocMem 671ef8ba +37a madExcept64.dll madExceptDbg 1978 +73 ReallocMemCallback 00409507 +017 DebugVCL.TST.exe System 4913 +5 @ReallocMem 00417637 +237 DebugVCL.TST.exe System 36568 +70 DynArraySetLength 0041788c +02c DebugVCL.TST.exe System 36650 +9 @DynArraySetLength 004aa33b +03b DebugVCL.TST.exe System.Classes 5205 +5 TList.SetCapacity 004a9f4b +06b DebugVCL.TST.exe System.Classes 5041 +1 TList.Grow 004a9bbd +01d DebugVCL.TST.exe System.Classes 4964 +3 TList.Add 004aafea +04a DebugVCL.TST.exe System.Classes 5456 +5 TThreadList.Add 005ee588 +118 DebugVCL.TST.exe Vcl.Graphics 3780 +26 TCanvas.Create 00646c89 +049 DebugVCL.TST.exe Vcl.Controls 14364 +2 TCustomControl.Create 006b77ab +03b DebugVCL.TST.exe Vcl.ExtCtrls 3200 +1 TCustomPanel.Create 004bafda +10a DebugVCL.TST.exe System.Classes 11049 +15 CreateComponent 004bb330 +0e0 DebugVCL.TST.exe System.Classes 11095 +11 TReader.ReadComponent 004bb7b7 +0a7 DebugVCL.TST.exe System.Classes 11161 +9 TReader.ReadDataInner 004bb6be +03e DebugVCL.TST.exe System.Classes 11140 +5 TReader.ReadData 004ca96d +00d DebugVCL.TST.exe System.Classes 17026 +1 TComponent.ReadState 00631e03 +043 DebugVCL.TST.exe Vcl.Controls 5744 +3 TControl.ReadState 00638d16 +026 DebugVCL.TST.exe Vcl.Controls 8799 +3 TWinControl.ReadState 0076a73f +04f DebugVCL.TST.exe Vcl.Forms 4216 +7 TCustomForm.ReadState 004bccc1 +371 DebugVCL.TST.exe System.Classes 11575 +37 TReader.ReadRootComponent 004b42d9 +039 DebugVCL.TST.exe System.Classes 9096 +3 TStream.ReadComponent 004a056f +08f DebugVCL.TST.exe System.Classes 4374 +7 InternalReadComponentRes 004a96d6 +086 DebugVCL.TST.exe System.Classes 4648 +4 InitComponent 004a9785 +065 DebugVCL.TST.exe System.Classes 4660 +6 InitInheritedComponent 0076949c +12c DebugVCL.TST.exe Vcl.Forms 3838 +18 TCustomForm.Create 0077a6f6 +086 DebugVCL.TST.exe Vcl.Forms 11147 +13 TApplication.CreateForm 00cbf407 +057 DebugVCL.TST.exe DebugVCL.TST 16 +3 initialization 7ffb0ada +00e KERNEL32.DLL BaseThreadInitThunk 7ffb0b46 +01b ntdll.dll RtlUserThreadStart |
AW: Fehler beim Prorammstart, wie debuggen ?
Du siehst ja, wo es knallt, beim Laden der DFM.
also Erstellen einer Komponente, bzw. zuweisen eines Property. Du kannst also ganz einfach die DFM ausmisten (im Formdesginer oder im DFM-Text so lange was rauswerfen, bis es nicht mehr knallt) Oder man hängt sich an die Fehlerbehandlung des TReader. |
AW: Fehler beim Prorammstart, wie debuggen ?
Zitat:
Danke & Gruß, Andreas |
AW: Fehler beim Prorammstart, wie debuggen ?
TReader :zwinker:
TReader und TWriter sind die Komponenten, welche das Binärformat der DFM laden, bzw. speichern. OnError ![]() Der FormDesigner nutzt das auch, um beim Öffnen von Units Fehler in der DFM zu behandeln, und z.B. defekte Teile rauszuwerfen. |
AW: Fehler beim Prorammstart, wie debuggen ?
@Himitsu:
Das ist der Unterschied zwischen dem Amateur und dem Profi... :thumb: Danke! Grüße, Andreas |
AW: Fehler beim Prorammstart, wie debuggen ?
aktuell läuft mein Projekt wieder.
habe die *.dproj gelöscht und dann das Projekt neu geladen, neue Parameter , Pfade gesetzt etc ..... |
AW: Fehler beim Prorammstart, wie debuggen ?
Liste der Anhänge anzeigen (Anzahl: 1)
(offtopic)
PS: TReader ist nicht mein Code , genauso wie die Delphi IDE, was könnte ich bei diesem Fehler machen ... bin hier ziemlich hilflos ? |
AW: Fehler beim Prorammstart, wie debuggen ?
Der Reader hat bestimmt keinen Fehler.
Der funktioniert seit knapp 30 Jahren unverändert gut. :stupid: Packages sind ein Problem für sich. Du mußt alles selber freigeben, bevor die Anwendung beendet wird. Die VCL-Packages werden als Letzte freigegeben, nachdem alle deine Packages bereits weg sind. Existiert da noch eine Form (sieht bei dir so aus) oder Komponente, welche Code aus bereits entladenen Packages nutzen wollten, dann knallt es, da der Code ja schon weg ist. Noch vorhandene Forms werden aber erst im Finalization der VCL-BPL freigegeben, da wo Application und Screen verschwinden wollen. |
AW: Fehler beim Prorammstart, wie debuggen ?
Hallo,
Interfaces schießen gern mal Code weg. Benutzt Du Interfaces? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz