Hallo,
ich habe manchmal eine Zugriffsverletzung beim Beenden meiner Anwendung.
Der Fehler ist immer der selbe: Modified byte offsets (and lengths): 12(1)
################################################## ######################
FastMM has detected an error during a free block scan operation. FastMM detected that a block has been modified after being freed.
Modified byte offsets (and lengths): 12(1)
The previous block size was: 56
This block was previously allocated by thread 0x860, and the stack trace (return addresses) at the time was:
40334A [system.pas][System][@GetMem][1227]
403BED [system.pas][System][TObject.NewInstance][3482]
403FE6 [system.pas][System][@ClassCreate][4158]
4846FF [LMDTimer][TLMDThreadedTimer.Create]
48484E [LMDTimer][TLMDHiTimer.UpdateTimer]
484745 [LMDTimer][TLMDHiTimer.SetEnabled]
53BBD1 [IO1.PAS][Io1][TForm1.Init_Velleman_K8055USB_1][13851]
53B866 [IO1.PAS][Io1][TForm1.Menu_Velleman_K8055USBClick][13796]
451FFA [Menus.pas][Menus][TMenuItem.Click][1740]
45369C [Menus.pas][Menus][TMenu.DispatchCommand][2446]
45DA86 [Forms.pas][Forms][TCustomForm.WMCommand][4032]
The block was previously used for an object of class: TLMDThreadedTimer
The allocation number was: 78542
The block was previously freed by thread 0x668, and the stack trace (return addresses) at the time was:
403362 [system.pas][System][@FreeMem][1239]
403C1A [system.pas][System][TObject.FreeInstance][3506]
404031 [system.pas][System][@ClassDestroy][4197]
41E5F5 [Classes.pas][Classes][TThread.Destroy][7402]
403C8B [system.pas][System][TObject.Free][3530]
41E4EA [Classes.pas][Classes][ThreadProc][7376]
404A4A [system.pas][System][ThreadWrapper][5606]
77E7B3BC [lstrcmpiW]
The current thread ID is 0x860, and the stack trace (return addresses) leading to this error is:
40C758 [FastMM4.pas][FastMM4][CheckBlocksOnShutdown][7981]
40D49A [FastMM4.pas][FastMM4][FinalizeMemoryManager][9045]
40D4E2 [FastMM4.pas][FastMM4][Finalization][9126]
4046F6 [system.pas][System][FInitUnits][5122]
404945 [system.pas][System][@Halt0][5516]
552C02 [progname][initialization]
77E989D5 [ProcessIdToSessionId]
################################################## ######################
sieht so aus als kommt das vom LMD Timer.
Use Thread vom Timer ist auf true, dann erhalte ich "manchmal" den Fehler beim beenden.
Ist Use Thread auf false gibt es kein Fehler, ich brauche aber einen threaded hitimer
Hat jemand ne Idee was man da machen kann?
Grüsse,
Bernd