[Lazarus] Challenge of converting a Delphi project

Juha Manninen juha.manninen at phnet.fi
Wed May 5 12:39:54 CEST 2010


José Mejuto wrote:
> Had you tried to use heaptrc to detect memory corruption ? There is
> also a more agressive heaptrc option that do not reuse memory blocks
> that could be very good in this case but needs heaptrc recompilation.

I must admit I never used heaptrc before. Now I did. There is even a switch 
for it in project settings.
The program still raises an exception when writing to TRegistry (uses XML file 
under Linux). The error listing below comes after just opening and closing 
EssModel. If I also create a diagram with EssModel, the listing is much 
longer.
How to interpret it? Where is the actual error?

I also get strange hints when compiling the project. They basically say that 
none of the project units were used, while they certainly are.

Would you care to take a look at the project?

Regards,
Juha

---------------------- Compiler hints : -----------------------

essmodel.lpr(38,39) Hint: Unit "uListeners" not used in EssModel
essmodel.lpr(41,31) Hint: Unit "uModel" not used in EssModel
essmodel.lpr(42,52) Hint: Unit "uCodeProvider" not used in EssModel
essmodel.lpr(43,52) Hint: Unit "uFileProvider" not used in EssModel
essmodel.lpr(44,53) Hint: Unit "uCodeParser" not used in EssModel
essmodel.lpr(45,57) Hint: Unit "uDelphiParser" not used in EssModel
essmodel.lpr(46,59) Hint: Unit "uCodeIntegrator" not used in EssModel
essmodel.lpr(48,71) Hint: Unit "uRtfdComponents" not used in EssModel
essmodel.lpr(49,65) Hint: Unit "uRtfdDiagram" not used in EssModel
essmodel.lpr(52,43) Hint: Unit "uModelEntity" not used in EssModel
essmodel.lpr(53,51) Hint: Unit "uParseTree" not used in EssModel
essmodel.lpr(55,78) Hint: Unit "uDiagramFrame" not used in EssModel
essmodel.lpr(56,102) Hint: Unit "uRtfdDiagramFrame" not used in EssModel
essmodel.lpr(57,39) Hint: Unit "uIterators" not used in EssModel
essmodel.lpr(58,42) Hint: Unit "uDocGen" not used in EssModel
essmodel.lpr(59,47) Hint: Unit "uDocumentation" not used in EssModel
essmodel.lpr(61,61) Hint: Unit "uJavaClass" not used in EssModel
essmodel.lpr(62,54) Hint: Unit "essConnectPanel" not used in EssModel
essmodel.lpr(63,51) Hint: Unit "uXmiExport" not used in EssModel
essmodel.lpr(64,42) Hint: Unit "essLayout" not used in EssModel
essmodel.lpr(65,50) Hint: Unit "uHtmlDocGen" not used in EssModel
essmodel.lpr(68,32) Hint: Unit "uConst" not used in EssModel
essmodel.lpr(69,52) Hint: Unit "uAboutForm" not used in EssModel
essmodel.lpr(70,60) Hint: Unit "uRegisterExtension" not used in EssModel
essmodel.lpr(71,61) Hint: Unit "uSettingsForm" not used in EssModel
essmodel.lpr(73,81) Hint: Unit "uTreeViewFrame" not used in EssModel
essmodel.lpr(76,60) Hint: Unit "uZoomFrame" not used in EssModel
essmodel.lpr(77,67) Hint: Unit "uOpenFolderForm" not used in EssModel

---------------------- heaptrc errors : ----------------------

[DBGTGT] TApplication.HandleException Failed to set data for value 
"RecentFiles"
[DBGTGT]   Stack trace:
[DBGTGT]   $08274418
[DBGTGT]   $0827488D
[DBGTGT]   $080A86FF line 144 of System/uconfig.pas
[DBGTGT]   $0808F3B7 line 188 of System/umainform.pas
[DBGTGT]   $080816F8 line 868 of include/customform.inc
[DBGTGT]   $0807FDDHeap dump by heaptrc unit
[DBGTGT] 8638 memory blocks allocated : 706318/727880
[DBGTGT] 8611 memory blocks freed     : 705662/727152
[DBGTGT] 27 unfreed memory blocks : 656
[DBGTGT] True heap size : 458752
[DBGTGT] True free heap : 455920
[DBGTGT] Should be : 456296
[DBGTGT] Call trace for block $B51E3C60 size 48
[DBGTGT]   $081E4152 line 90 of qtobject.inc
[DBGTGT]   $08148754 line 135 of customtimer.pas
[DBGTGT]   $08148900 line 212 of customtimer.pas
[DBGTGT]   $080BEBFB line 88 of System/ufeedback.pas
[DBGTGT]   $08148885 line 181 of customtimer.pas
[DBGTGT]   $081487EF line 156 of customtimer.pas
[DBGTGT]   $0825C60C line 3875 of qtobjects.pas
[DBGTGT]   $B7F40C7E
[DBGTGT] Call trace for block $B4235980 size 20
[DBGTGT]   $0808F2D0 line 171 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT]   $08085799 line 2645 of include/customform.inc
[DBGTGT]   $0808CB28 line 2076 of include/application.inc
[DBGTGT]   $0805D117 line 81 of essmodel.lpr
[DBGTGT]   $B7C67ACE
[DBGTGT]   $080AFDD8 line 496 of Components/essconnectpanel.pas
[DBGTGT] Call trace for block $B51EB380 size 58
[DBGTGT]   $080A1909 line 121 of Integrator/View/RtfdDiagram/urtfddiagram.pas
[DBGTGT]   $0809D1F3 line 124 of Integrator/View/uviewintegrator.pas
[DBGTGT]   $0808F284 line 168 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT]   $08085799 line 2645 of include/customform.inc
[DBGTGT]   $0808CB28 line 2076 of include/application.inc
[DBGTGT]   $0805D117 line 81 of essmodel.lpr
[DBGTGT] Call trace for block $B7FCE3E0 size 16
[DBGTGT]   $080702E8
[DBGTGT]   $080A8A50 line 163 of Integrator/View/udiagramframe.pas
[DBGTGT]   $080A94D7 line 61 of 
Integrator/View/RtfdDiagram/urtfddiagramframe.pas
[DBGTGT]   $080A17CB line 109 of Integrator/View/RtfdDiagram/urtfddiagram.pas
[DBGTGT]   $0809D1F3 line 124 of Integrator/View/uviewintegrator.pas
[DBGTGT]   $0808F284 line 168 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT] Call trace for block $B51EA8D0 size 64
[DBGTGT]   $0809D1F3 line 124 of Integrator/View/uviewintegrator.pas
[DBGTGT]   $0808F284 line 168 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT]   $08085799 line 2645 of include/customform.inc
[DBGTGT]   $0808CB28 line 2076 of include/application.inc
[DBGTGT]   $0805D117 line 81 of essmodel.lpr
[DBGTGT]   $B7C67ACE
[DBGTGT] Call trace for block $B7FCD9C0 size 16
[DBGTGT]   $080702E8
[DBGTGT]   $080933FF line 363 of Model/umodel.pas
[DBGTGT]   $08092FAD line 296 of Model/umodel.pas
[DBGTGT]   $0808F254 line 167 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT]   $08085799 line 2645 of include/customform.inc
[DBGTGT]   $0808CB28 line 2076 of include/application.inc
[DBGTGT] Call trace for block $B7FCDE40 size 16
[DBGTGT]   $080C6937
[DBGTGT]   $0817F73D
[DBGTGT]   $08093D29 line 514 of Model/umodel.pas
[DBGTGT]   $08093648 line 393 of Model/umodel.pas
[DBGTGT]   $080933FF line 363 of Model/umodel.pas
[DBGTGT]   $08092FAD line 296 of Model/umodel.pas
[DBGTGT]   $0808F254 line 167 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT] Call trace for block $B7FCE260 size 9
[DBGTGT]   $08093D29 line 514 of Model/umodel.pas
[DBGTGT]   $08093648 line 393 of Model/umodel.pas
[DBGTGT]   $080933FF line 363 of Model/umodel.pas
[DBGTGT]   $08092FAD line 296 of Model/umodel.pas
[DBGTGT]   $0808F254 line 167 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT]   $08085799 line 2645 of include/customform.inc
[DBGTGT] Call trace for block $B7FCDF00 size 16
[DBGTGT]   $080C6937
[DBGTGT]   $0817F73D
[DBGTGT]   $08093D12 line 513 of Model/umodel.pas
[DBGTGT]   $08093648 line 393 of Model/umodel.pas
[DBGTGT]   $080933FF line 363 of Model/umodel.pas
[DBGTGT]   $08092FAD line 296 of Model/umodel.pas
[DBGTGT]   $0808F254 line 167 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT] Call trace for block $B7FCE1A0 size 9
[DBGTGT]   $08093D12 line 513 of Model/umodel.pas
[DBGTGT]   $08093648 line 393 of Model/umodel.pas
[DBGTGT]   $080933FF line 363 of Model/umodel.pas
[DBGTGT]   $08092FAD line 296 of Model/umodel.pas
[DBGTGT]   $0808F254 line 167 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT]   $08085799 line 2645 of include/customform.inc
[DBGTGT] Call trace for block $B7FC0910 size 8
[DBGTGT]   $080A6A1D line 204 of Model/umodelentity.pas
[DBGTGT]   $08093D01 line 512 of Model/umodel.pas
[DBGTGT]   $08093648 line 393 of Model/umodel.pas
[DBGTGT]   $080933FF line 363 of Model/umodel.pas
[DBGTGT]   $08092FAD line 296 of Model/umodel.pas
[DBGTGT]   $0808F254 line 167 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT] Call trace for block $B7FCE380 size 16
[DBGTGT]   $080C6937
[DBGTGT]   $0817F73D
[DBGTGT]   $080A6A08 line 203 of Model/umodelentity.pas
[DBGTGT]   $08093D01 line 512 of Model/umodel.pas
[DBGTGT]   $08093648 line 393 of Model/umodel.pas
[DBGTGT]   $080933FF line 363 of Model/umodel.pas
[DBGTGT]   $08092FAD line 296 of Model/umodel.pas
[DBGTGT]   $0808F254 line 167 of System/umainform.pas
[DBGTGT] Call trace for block $B7FCE440 size 9
[DBGTGT]   $080A6A08 line 203 of Model/umodelentity.pas
[DBGTGT]   $08093D01 line 512 of Model/umodel.pas
[DBGTGT]   $08093648 line 393 of Model/umodel.pas
[DBGTGT]   $080933FF line 363 of Model/umodel.pas
[DBGTGT]   $08092FAD line 296 of Model/umodel.pas
[DBGTGT]   $0808F254 line 167 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT] Call trace for block $B7FCF990 size 40
[DBGTGT]   $08093648 line 393 of Model/umodel.pas
[DBGTGT]   $080933FF line 363 of Model/umodel.pas
[DBGTGT]   $08092FAD line 296 of Model/umodel.pas
[DBGTGT]   $0808F254 line 167 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT]   $08085799 line 2645 of include/customform.inc
[DBGTGT]   $0808CB28 line 2076 of include/application.inc
[DBGTGT] Call trace for block $B7FCE860 size 16
[DBGTGT]   $080C6937
[DBGTGT]   $0817F73D
[DBGTGT]   $08093512 line 382 of Model/umodel.pas
[DBGTGT]   $080933E7 line 362 of Model/umodel.pas
[DBGTGT]   $08092FAD line 296 of Model/umodel.pas
[DBGTGT]   $0808F254 line 167 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT] Call trace for block $B7FCE7A0 size 9
[DBGTGT]   $08093512 line 382 of Model/umodel.pas
[DBGTGT]   $080933E7 line 362 of Model/umodel.pas
[DBGTGT]   $08092FAD line 296 of Model/umodel.pas
[DBGTGT]   $0808F254 line 167 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT]   $08085799 line 2645 of include/customform.inc
[DBGTGT]   $0808CB28 line 2076 of include/application.inc
[DBGTGT] Call trace for block $B7FBF510 size 8
[DBGTGT]   $080A6A1D line 204 of Model/umodelentity.pas
[DBGTGT]   $08093501 line 381 of Model/umodel.pas
[DBGTGT]   $080933E7 line 362 of Model/umodel.pas
[DBGTGT]   $08092FAD line 296 of Model/umodel.pas
[DBGTGT]   $0808F254 line 167 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT]   $08085799 line 2645 of include/customform.inc
[DBGTGT] Call trace for block $B7FCBC80 size 16
[DBGTGT]   $080C6937
[DBGTGT]   $0817F73D
[DBGTGT]   $080A6A08 line 203 of Model/umodelentity.pas
[DBGTGT]   $08093501 line 381 of Model/umodel.pas
[DBGTGT]   $080933E7 line 362 of Model/umodel.pas
[DBGTGT]   $08092FAD line 296 of Model/umodel.pas
[DBGTGT]   $0808F254 line 167 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT] Call trace for block $B7FCBB60 size 9
[DBGTGT]   $080A6A08 line 203 of Model/umodelentity.pas
[DBGTGT]   $08093501 line 381 of Model/umodel.pas
[DBGTGT]   $080933E7 line 362 of Model/umodel.pas
[DBGTGT]   $08092FAD line 296 of Model/umodel.pas
[DBGTGT]   $0808F254 line 167 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT]   $08085799 line 2645 of include/customform.inc
[DBGTGT] Call trace for block $B7FCFA00 size 36
[DBGTGT]   $080933E7 line 362 of Model/umodel.pas
[DBGTGT]   $08092FAD line 296 of Model/umodel.pas
[DBGTGT]   $0808F254 line 167 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT]   $08085799 line 2645 of include/customform.inc
[DBGTGT]   $0808CB28 line 2076 of include/application.inc
[DBGTGT]   $0805D117 line 81 of essmodel.lpr
[DBGTGT] Call trace for block $B7FCBBC0 size 16
[DBGTGT]   $080C6937
[DBGTGT]   $0817F73D
[DBGTGT]   $08092F9F line 295 of Model/umodel.pas
[DBGTGT]   $0808F254 line 167 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT]   $08085799 line 2645 of include/customform.inc
[DBGTGT]   $0808CB28 line 2076 of include/application.inc
[DBGTGT] Call trace for block $B7FCBB00 size 9
[DBGTGT]   $08092F9F line 295 of Model/umodel.pas
[DBGTGT]   $0808F254 line 167 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT]   $08085799 line 2645 of include/customform.inc
[DBGTGT]   $0808CB28 line 2076 of include/application.inc
[DBGTGT]   $0805D117 line 81 of essmodel.lpr
[DBGTGT]   $B7C67ACE
[DBGTGT] Call trace for block $B7FCBAA0 size 17
[DBGTGT]   $0808F254 line 167 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT]   $08085799 line 2645 of include/customform.inc
[DBGTGT]   $0808CB28 line 2076 of include/application.inc
[DBGTGT]   $0805D117 line 81 of essmodel.lpr
[DBGTGT]   $B7C67ACE
[DBGTGT] Call trace for block $B5098880 size 77
[DBGTGT]   $080BE8FC line 60 of System/ufeedback.pas
[DBGTGT]   $0808F21F line 166 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT]   $08085799 line 2645 of include/customform.inc
[DBGTGT]   $0808CB28 line 2076 of include/application.inc
[DBGTGT]   $0805D117 line 81 of essmodel.lpr
[DBGTGT]   $B7C67ACE
[DBGTGT] Call trace for block $B7FCBE00 size 24
[DBGTGT]   $0808F21F line 166 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT]   $08085799 line 2645 of include/customform.inc
[DBGTGT]   $0808CB28 line 2076 of include/application.inc
[DBGTGT]   $0805D117 line 81 of essmodel.lpr
[DBGTGT]   $B7C67ACE
[DBGTGT]   $08121BF4 line 3063 of lresources.pp
[DBGTGT] Call trace for block $B51EA960 size 58
[DBGTGT]   $0808F1BE line 163 of System/umainform.pas
[DBGTGT]   $08081553 line 831 of include/customform.inc
[DBGTGT]   $0807FD57 line 79 of include/customform.inc
[DBGTGT]   $08085799 line 2645 of include/customform.inc
[DBGTGT]   $0808CB28 line 2076 of include/application.inc
[DBGTGT]   $0805D117 lineC line 99 of include/customform.inc
[DBGTGT]   $0807FE11 line 113 of include/customform.inc
[DBGTGT]   $0806B5B2
[DBGTGT]   $0807D0AD line 1684 of forms.pp
[DBGTGT]   $0806F639
[DBGTGT] exception at 08274418:
[DBGTGT] Failed to set data for value "RecentFiles".
[DBGTGT]  81 of essmodel.lpr
[DBGTGT]   $B7C67ACE
[DBGTGT]   $0823965F line 218 of imagelistcache.pas
[DBGTGT] Call trace for block $B7FC9FA0 size 16
[DBGTGT]   $080BECBF line 112 of System/ufeedback.pas
[DBGTGT]   $0806F564
[DBGTGT]   $B7C67ACE




More information about the Lazarus mailing list