FastMM4Messages.pas 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. {
  2. Fast Memory Manager: Messages
  3. English translation by Pierre le Riche.
  4. }
  5. unit FastMM4Messages;
  6. interface
  7. {$Include FastMM4Options.inc}
  8. const
  9. {The name of the debug info support DLL}
  10. FullDebugModeLibraryName32Bit = 'FastMM_FullDebugMode.dll';
  11. FullDebugModeLibraryName64Bit = 'FastMM_FullDebugMode64.dll';
  12. {Event log strings}
  13. LogFileExtension = '_MemoryManager_EventLog.txt'#0;
  14. CRLF = #13#10;
  15. EventSeparator = '--------------------------------';
  16. {Class name messages}
  17. UnknownClassNameMsg = 'Unknown';
  18. {Memory dump message}
  19. MemoryDumpMsg = #13#10#13#10'Current memory dump of 256 bytes starting at pointer address ';
  20. {Block Error Messages}
  21. BlockScanLogHeader = 'Allocated block logged by LogAllocatedBlocksToFile. The size is: ';
  22. ErrorMsgHeader = 'FastMM has detected an error during a ';
  23. GetMemMsg = 'GetMem';
  24. FreeMemMsg = 'FreeMem';
  25. ReallocMemMsg = 'ReallocMem';
  26. BlockCheckMsg = 'free block scan';
  27. OperationMsg = ' operation. ';
  28. BlockHeaderCorruptedMsg = 'The block header has been corrupted. ';
  29. BlockFooterCorruptedMsg = 'The block footer has been corrupted. ';
  30. FreeModifiedErrorMsg = 'FastMM detected that a block has been modified after being freed. ';
  31. FreeModifiedDetailMsg = #13#10#13#10'Modified byte offsets (and lengths): ';
  32. DoubleFreeErrorMsg = 'An attempt has been made to free/reallocate an unallocated block.';
  33. WrongMMFreeErrorMsg = 'An attempt has been made to free/reallocate a block that was allocated through a different FastMM instance. Check your memory manager sharing settings.';
  34. PreviousBlockSizeMsg = #13#10#13#10'The previous block size was: ';
  35. CurrentBlockSizeMsg = #13#10#13#10'The block size is: ';
  36. PreviousObjectClassMsg = #13#10#13#10'The block was previously used for an object of class: ';
  37. CurrentObjectClassMsg = #13#10#13#10'The block is currently used for an object of class: ';
  38. PreviousAllocationGroupMsg = #13#10#13#10'The allocation group was: ';
  39. PreviousAllocationNumberMsg = #13#10#13#10'The allocation number was: ';
  40. CurrentAllocationGroupMsg = #13#10#13#10'The allocation group is: ';
  41. CurrentAllocationNumberMsg = #13#10#13#10'The allocation number is: ';
  42. BlockErrorMsgTitle = 'Memory Error Detected';
  43. VirtualMethodErrorHeader = 'FastMM has detected an attempt to call a virtual method on a freed object. An access violation will now be raised in order to abort the current operation.';
  44. InterfaceErrorHeader = 'FastMM has detected an attempt to use an interface of a freed object. An access violation will now be raised in order to abort the current operation.';
  45. BlockHeaderCorruptedNoHistoryMsg = ' Unfortunately the block header has been corrupted so no history is available.';
  46. FreedObjectClassMsg = #13#10#13#10'Freed object class: ';
  47. VirtualMethodName = #13#10#13#10'Virtual method: ';
  48. VirtualMethodOffset = 'Offset +';
  49. VirtualMethodAddress = #13#10#13#10'Virtual method address: ';
  50. {Stack trace messages}
  51. CurrentThreadIDMsg = #13#10#13#10'The current thread ID is 0x';
  52. CurrentStackTraceMsg = ', and the stack trace (return addresses) leading to this error is:';
  53. ThreadIDPrevAllocMsg = #13#10#13#10'This block was previously allocated by thread 0x';
  54. ThreadIDAtAllocMsg = #13#10#13#10'This block was allocated by thread 0x';
  55. ThreadIDAtFreeMsg = #13#10#13#10'The block was previously freed by thread 0x';
  56. ThreadIDAtObjectAllocMsg = #13#10#13#10'The object was allocated by thread 0x';
  57. ThreadIDAtObjectFreeMsg = #13#10#13#10'The object was subsequently freed by thread 0x';
  58. StackTraceMsg = ', and the stack trace (return addresses) at the time was:';
  59. {Installation Messages}
  60. AlreadyInstalledMsg = 'FastMM4 is already installed.';
  61. AlreadyInstalledTitle = 'Already installed.';
  62. OtherMMInstalledMsg = 'FastMM4 cannot be installed since another third party memory '
  63. + 'manager has already installed itself.'#13#10'If you want to use FastMM4, '
  64. + 'please make sure that FastMM4.pas is the very first unit in the "uses"'
  65. + #13#10'section of your project''s .dpr file.';
  66. OtherMMInstalledTitle = 'Cannot install FastMM4 - Another memory manager is already installed';
  67. MemoryAllocatedMsg = 'FastMM4 cannot install since memory has already been '
  68. + 'allocated through the default memory manager.'#13#10'FastMM4.pas MUST '
  69. + 'be the first unit in your project''s .dpr file, otherwise memory may '
  70. + 'be allocated'#13#10'through the default memory manager before FastMM4 '
  71. + 'gains control. '#13#10#13#10'If you are using an exception trapper '
  72. + 'like MadExcept (or any tool that modifies the unit initialization '
  73. + 'order),'#13#10'go into its configuration page and ensure that the '
  74. + 'FastMM4.pas unit is initialized before any other unit.';
  75. MemoryAllocatedTitle = 'Cannot install FastMM4 - Memory has already been allocated';
  76. {Leak checking messages}
  77. LeakLogHeader = 'A memory block has been leaked. The size is: ';
  78. LeakMessageHeader = 'This application has leaked memory. ';
  79. SmallLeakDetail = 'The small block leaks are'
  80. {$ifdef HideExpectedLeaksRegisteredByPointer}
  81. + ' (excluding expected leaks registered by pointer)'
  82. {$endif}
  83. + ':'#13#10;
  84. LargeLeakDetail = 'The sizes of leaked medium and large blocks are'
  85. {$ifdef HideExpectedLeaksRegisteredByPointer}
  86. + ' (excluding expected leaks registered by pointer)'
  87. {$endif}
  88. + ': ';
  89. BytesMessage = ' bytes: ';
  90. AnsiStringBlockMessage = 'AnsiString';
  91. UnicodeStringBlockMessage = 'UnicodeString';
  92. LeakMessageFooter = #13#10
  93. {$ifndef HideMemoryLeakHintMessage}
  94. + #13#10'Note: '
  95. {$ifdef RequireIDEPresenceForLeakReporting}
  96. + 'This memory leak check is only performed if Delphi is currently running on the same computer. '
  97. {$endif}
  98. {$ifdef FullDebugMode}
  99. {$ifdef LogMemoryLeakDetailToFile}
  100. + 'Memory leak detail is logged to a text file in the same folder as this application. '
  101. {$else}
  102. + 'Enable the "LogMemoryLeakDetailToFile" to obtain a log file containing detail on memory leaks. '
  103. {$endif}
  104. {$else}
  105. + 'To obtain a log file containing detail on memory leaks, enable the "FullDebugMode" and "LogMemoryLeakDetailToFile" conditional defines. '
  106. {$endif}
  107. + 'To disable this memory leak check, undefine "EnableMemoryLeakReporting".'#13#10
  108. {$endif}
  109. + #0;
  110. LeakMessageTitle = 'Memory Leak Detected';
  111. {$ifdef UseOutputDebugString}
  112. FastMMInstallMsg = 'FastMM has been installed.';
  113. FastMMInstallSharedMsg = 'Sharing an existing instance of FastMM.';
  114. FastMMUninstallMsg = 'FastMM has been uninstalled.';
  115. FastMMUninstallSharedMsg = 'Stopped sharing an existing instance of FastMM.';
  116. {$endif}
  117. {$ifdef DetectMMOperationsAfterUninstall}
  118. InvalidOperationTitle = 'MM Operation after uninstall.';
  119. InvalidGetMemMsg = 'FastMM has detected a GetMem call after FastMM was uninstalled.';
  120. InvalidFreeMemMsg = 'FastMM has detected a FreeMem call after FastMM was uninstalled.';
  121. InvalidReallocMemMsg = 'FastMM has detected a ReallocMem call after FastMM was uninstalled.';
  122. InvalidAllocMemMsg = 'FastMM has detected an AllocMem call after FastMM was uninstalled.';
  123. {$endif}
  124. implementation
  125. end.