Too bad the whole mechanism involving TRegGroups.UnregisterModuleClasses
is not documented anywhere
It is the underlying storage to support TClassFinder
, which was introduced in Delphi 6, documented on-line in Delphi 2007, documented slightly in Delphi 2009, and since Delphi 2010 only one line of documentation was added (including the unchanged “instatiated”):
- Delphi 2007: [WayBack] TClassFinder Class
This is class
Classes.TClassFinder
. - Delphi 2009:[WayBack] TClassFinder Class
The
TClassFinder
allows the list of registered persistent classes to be retrieved. Objects instatiated from persistent classes are those that can be stored (serialised) beyond the operation of the current application. - Delphi 2010:[WayBack] Classes.TClassFinder – RAD Studio VCL Reference
TClassFinder
allows registered persistent classes to be retrieved.The
TClassFinder
allows the list of registered persistent classes to be retrieved. Objects instatiated from persistent classes are those that can be stored (serialised) beyond the operation of the current application.
Back to TRegGroups.UnregisterModuleClasses
: it takes a HMODULE
parameter and ultimately gets called through the (since Delphi 2007) on-line documented [WayBack] Classes.UnRegisterModuleClasses Function
procedure UnRegisterModuleClasses(Module: HMODULE);Call UnRegisterModuleClasses to unregister all object classes that were registered by the module with the handle specified by the Module parameter. When a class is unregistered, it can’t be loaded or saved by the component streaming system.
After unregistering a class, its name can be reused to register another object class.
To get more context about the access violation, I used both the stack trace and a debugging watch for GetModuleName(Module)
(using the [WayBack] SysUtils.GetModuleName Function).
In order to see which classes were registered by what module, I set a breakpoint at in TRegGroup.AddClass
(which can be called through various code paths):
procedure TRegGroup.AddClass(AClass: TPersistentClass); begin FGroupClasses.Add(AClass); end;
HModule
That gave me the class, but I also needed the HModule
for a class, so I did a windows get module of currently executing code – Google Search, giving me these links, all C/C++ related:
- [WayBack] c++ – How do I get the HMODULE for the currently executing code? – Stack Overflow
I currently use the following trick (inspired from this forum):
const HMODULE GetCurrentModule() { MEMORY_BASIC_INFORMATION mbi = {0}; ::VirtualQuery( GetCurrentModule, &mbi, sizeof(mbi) ); return reinterpret_cast<HMODULE>(mbi.AllocationBase); }
Is there a better way to do this that doesn’t look so hacky?
- [WayBack] Accessing the current module’s HINSTANCE from a static library | The Old New Thing
If you are using a Microsoft linker, you can take advantage of
a pseudovariable which the linker provides.EXTERN_C IMAGE_DOS_HEADER __ImageBase; #define HINST_THISCOMPONENT ((HINSTANCE)&__ImageBase)
The pseudovariable
__ImageBase
represents the DOS header of the module, which happens to
be what a Win32 module begins with.
In other words, it’s the base address of the module.
And the module base address is the same as itsHINSTANCE
.
Here you already see some confusion: there is HINSTANCE
and HMODULE
. That’s a historic thing, as described by Raymond Chen in [WayBack] What is the difference between HINSTANCE and HMODULE? | The Old New Thing:
They mean the same thing today, but at one time they were quite different.
It all comes from 16-bit Windows.
In those days, a “module” represented a file on disk that had been loaded into memory, and the module “handle” was a handle to a data structure that described the parts of the file, where they come from, and where they had been loaded into memory (if at all). On the other hand an “instance” represented a “set of variables”.
One analogy that might (or might not) make sense is that a “module” is like the code for a C++ class – it describes how to construct an object, it implements the methods, it describes how the objects of the class behave. On the other hand, an “instance” is like a C++ object that belongs to that class – it describes the state of a particular instance of that object.
In C# terms, a “module” is like a “type” and an instance is like an “object”. (Except that modules don’t have things like “static members”, but it was a weak analogy anyway.)
GetModuleName
Searching for delphi “__ImageBase” – Google Search then got me [WayBack] c++ – Get DLL path at runtime – Stack Overflow with a nice Delphi related answer by [WayBack] Ian Boyd:
For Delphi users:
SysUtils.GetModuleName(hInstance); //Works; hInstance is a special global variable SysUtils.GetModuleName(0); //Fails; returns the name of the host exe process SysUtils.GetModuleName(GetModuleFilename(nil)); //Fails; returns the name of the host exe process
In case your Delphi doesn’t have SysUtils.GetModuleName, it is declared as:
...
This reassured my use of [WayBack] SysUtils.GetModuleName
code was OK:
function GetModuleName(Module: HMODULE): string; var ModName: array[0..MAX_PATH] of Char; begin SetString(Result, ModName, GetModuleFileName(Module, ModName, Length(ModName))); end;
HInstance
in Delphi
The example from Ian Boyd also brought back memories from long ago about the [WayBack] HInstance
Variable – Delphi in a Nutshell [Book]:
Name
HInstance Variable
Syntax
unit SysInit; var HInstance: LongWord;Description
The
HInstance
variable stores the instance handle for the module (application, library, or package) that contains theHInstance
reference.Tips and Tricks
- The most common use for a module’s instance handler is to load resources from the module. A unit can use
HInstance
to load resources that are linked with that unit (using the$R
compiler directive). To load resources that are linked with a different unit (which might reside in a different package), see theFindHInstance
function.- To load resources that must be localized (e.g., forms, strings), see
FindResourceHInstance
.- The instance handle of the main application is stored in
MainInstance
.- Earlier versions of Delphi stored the main instance handle in
HInstance
, requiring a call toFindHInstance
to learn a module’s instance handle. The current release stores the module’s instance handle inHInstance
.Example
// Use the Image Editor to create a .RES file that // contains the company logo as the resource named LOGO. // The GetLogo procedure sets its Bitmap argument // to the company logo bitmap. {$R 'Logo.res'} procedure GetLogo(Bitmap: TBitmap); begin Bitmap.LoadFromResourceName(HInstance, 'LOGO'); end;See Also
FindClassHInstance
Function,FindHInstance
Function,MainInstance
Variable
The HInstance
variable – surprisingly – is in the SysInit
unit, not the System
unit, which is not documented in Delphi [Archive.is] 2007, [Archive.is] 2009, through [WayBack] XE2, and got only a slightly bit of documentation added in Delphi XE3:
- [WayBack] SysInit – XE3 API Documentation and Delphi Rio [WayBack] SysInit – RAD Studio API Documentation
- [WayBack] SysInit.HInstance – XE3 API Documentation and Delphi Rio [WayBack] SysInit.HInstance – RAD Studio API Documentation
HInstance: HINST; { Handle of this instance }
Embarcadero Technologies does not currently have any additional information.
The Delphi XE2 RTL added [WayBack] SysInit.__ImageBase
which is an alias for the (also added in XE2) [WayBack] SysInit.ImageBase
(both sort of documented as of Delphi XE3):
ImageBase: Pointer; { Special symbol that is actually located at the module load address. @ImageBase. }
Getting the HModule
from a class: use FindClassHInstance
You might think that when a method is called UnregisterModuleClasses
, similar methods about HModule
would also include Module
in their name. But in practice, it is confusing, especially since most of these methods have been there since the Delphi 3 era, just looking at these names:
procedure RegisterModule(LibModule: PLibModule); procedure UnregisterModule(LibModule: PLibModule); function FindHInstance(Address: Pointer): HINST; function FindClassHInstance(ClassType: TClass): HINST; function FindResourceHInstance(Instance: HINST): HINST; function GetResourceModuleName(HostAppName, ModuleName: string): string; function LoadResourceModule(ModuleName: PChar; CheckOwner: Boolean = True): THandle; procedure EnumModules(Func: TEnumModuleFunc; Data: Pointer); overload; procedure EnumResourceModules(Func: TEnumModuleFunc; Data: Pointer); overload; procedure EnumModules(Func: TEnumModuleFuncLW; Data: Pointer); overload; procedure EnumResourceModules(Func: TEnumModuleFuncLW; Data: Pointer); overload; procedure AddModuleUnloadProc(Proc: TModuleUnloadProc); overload; procedure RemoveModuleUnloadProc(Proc: TModuleUnloadProc); overload; procedure AddModuleUnloadProc(Proc: TModuleUnloadProcLW); overload; procedure RemoveModuleUnloadProc(Proc: TModuleUnloadProcLW); overload;
These methods below are what I was after; just recall the same usage as the above [WayBack] VirtualQuery
function (memoryapi.h) | Microsoft Docs (using a structure typed [WayBack] _MEMORY_BASIC_INFORMATION
| Microsoft Docs):
function FindHInstance(Address: Pointer): HINST; var MemInfo: TMemoryBasicInformation; begin VirtualQuery(Address, MemInfo, SizeOf(MemInfo)); if MemInfo.State = $1000{MEM_COMMIT} then Result := UIntPtr(MemInfo.AllocationBase) else Result := 0; end; function FindClassHInstance(ClassType: TClass): HINST; begin Result := FindHInstance(Pointer(ClassType)); end;
Getting class and module in one line
The breakpoint expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName
during debugging some of the time:
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: E2010 Incompatible types: 'TClass' and 'TPersistentClass'
If it failed, because multiple copies of the RTL were loaded. This is a classic problem when either:
- your project mixes packages and units (this can happen when using ODAC: their units expect packages, especially in their trials)
- loading DLLs from EXEs where one uses packages, but the other does not
What also happened when watching these were FastMM errors on memory consistency. See the log below for that. I think this has the same cause.
–jeroen
Breakpoints used
All breakpoints in each method are right after the method begin
.
GetModuleName
(did never fire):
Finding out if anything called - unit
System.SysUtils
- method
function GetModuleName(Module: HMODULE): string;
- no expression
Finding module name and class name for each registration
- unit
System.Classes
- method
procedure TRegGroup.AddClass(AClass: TPersistentClass);
- expression
GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName
Finding module name for unregistering all its classes
- unit
System.Classes
- method
procedure TRegGroups.UnregisterModuleClasses(Module: HMODULE);
- expression
GetModuleName(Module)
Thread Start: Thread ID: 1816. Process main.exe (3144) | |
Process Start: D:\Development\mainProject\main.exe. Base Address: $00400000. Process main.exe (3144) | |
Module Load: main.exe. Has Debug Info. Base Address: $00400000. Process main.exe (3144) | |
Module Load: ntdll.dll. No Debug Info. Base Address: $778D0000. Process main.exe (3144) | |
Module Load: KERNEL32.dll. No Debug Info. Base Address: $76810000. Process main.exe (3144) | |
Module Load: KERNELBASE.dll. No Debug Info. Base Address: $75970000. Process main.exe (3144) | |
Thread Start: Thread ID: 7572. Process main.exe (3144) | |
Thread Start: Thread ID: 4000. Process main.exe (3144) | |
Module Load: COMDLG32.dll. No Debug Info. Base Address: $76A90000. Process main.exe (3144) | |
Module Load: msvcrt.dll. No Debug Info. Base Address: $76DD0000. Process main.exe (3144) | |
Thread Start: Thread ID: 10308. Process main.exe (3144) | |
Module Load: WINMM.dll. No Debug Info. Base Address: $70730000. Process main.exe (3144) | |
Module Load: WINSPOOL.DRV. No Debug Info. Base Address: $67C70000. Process main.exe (3144) | |
Module Load: combase.dll. No Debug Info. Base Address: $756F0000. Process main.exe (3144) | |
Module Load: ucrtbase.dll. No Debug Info. Base Address: $76C90000. Process main.exe (3144) | |
Module Load: RPCRT4.dll. No Debug Info. Base Address: $74F60000. Process main.exe (3144) | |
Module Load: RPCRT4.dll. No Debug Info. Base Address: $01320000. Process main.exe (3144) | |
Module Unload: RPCRT4.dll. Process main.exe (3144) | |
Module Load: WINMMBASE.dll. No Debug Info. Base Address: $001D0000. Process main.exe (3144) | |
Module Unload: WINMMBASE.dll. Process main.exe (3144) | |
Module Load: bcryptPrimitives.dll. No Debug Info. Base Address: $769A0000. Process main.exe (3144) | |
Module Load: WINMMBASE.dll. No Debug Info. Base Address: $706C0000. Process main.exe (3144) | |
Module Load: SspiCli.dll. No Debug Info. Base Address: $74F40000. Process main.exe (3144) | |
Module Load: AppCore.dll. No Debug Info. Base Address: $776F0000. Process main.exe (3144) | |
Module Load: CFGMGR32.dll. No Debug Info. Base Address: $75670000. Process main.exe (3144) | |
Module Load: bcrypt.dll. No Debug Info. Base Address: $75480000. Process main.exe (3144) | |
Module Load: CRYPTBASE.dll. No Debug Info. Base Address: $74F30000. Process main.exe (3144) | |
Module Load: PROPSYS.dll. No Debug Info. Base Address: $73F80000. Process main.exe (3144) | |
Module Load: IPHLPAPI.DLL. No Debug Info. Base Address: $74EE0000. Process main.exe (3144) | |
Module Load: OLEAUT32.dll. No Debug Info. Base Address: $77790000. Process main.exe (3144) | |
Module Load: SECHOST.dll. No Debug Info. Base Address: $77840000. Process main.exe (3144) | |
Module Load: msvcp_win.dll. No Debug Info. Base Address: $75F10000. Process main.exe (3144) | |
Module Load: SHCORE.dll. No Debug Info. Base Address: $768F0000. Process main.exe (3144) | |
Module Load: SHCORE.dll. No Debug Info. Base Address: $01320000. Process main.exe (3144) | |
Module Unload: SHCORE.dll. Process main.exe (3144) | |
Module Load: USER32.dll. No Debug Info. Base Address: $75B70000. Process main.exe (3144) | |
Module Load: win32u.dll. No Debug Info. Base Address: $756B0000. Process main.exe (3144) | |
Module Load: GDI32.dll. No Debug Info. Base Address: $76A10000. Process main.exe (3144) | |
Module Load: gdi32full.dll. No Debug Info. Base Address: $774C0000. Process main.exe (3144) | |
Module Load: SHLWAPI.dll. No Debug Info. Base Address: $767C0000. Process main.exe (3144) | |
Module Load: SHELL32.dll. No Debug Info. Base Address: $75F90000. Process main.exe (3144) | |
Module Load: COMCTL32.dll. No Debug Info. Base Address: $70AC0000. Process main.exe (3144) | |
Module Load: Windows.Storage.dll. No Debug Info. Base Address: $76EC0000. Process main.exe (3144) | |
Module Load: ADVAPI32.dll. No Debug Info. Base Address: $755F0000. Process main.exe (3144) | |
Module Load: profapi.dll. No Debug Info. Base Address: $76980000. Process main.exe (3144) | |
Module Load: POWRPROF.dll. No Debug Info. Base Address: $75D10000. Process main.exe (3144) | |
Module Load: CRYPTSP.dll. No Debug Info. Base Address: $756D0000. Process main.exe (3144) | |
Module Load: ole32.dll. No Debug Info. Base Address: $76B90000. Process main.exe (3144) | |
Module Load: VERSION.dll. No Debug Info. Base Address: $74850000. Process main.exe (3144) | |
Module Load: NETAPI32.dll. No Debug Info. Base Address: $74860000. Process main.exe (3144) | |
Module Load: SHFOLDER.dll. No Debug Info. Base Address: $681C0000. Process main.exe (3144) | |
Module Load: WSOCK32.dll. No Debug Info. Base Address: $70ED0000. Process main.exe (3144) | |
Module Load: FastMM_FullDebugMode.dll. No Debug Info. Base Address: $013B0000. Process main.exe (3144) | |
Module Unload: FastMM_FullDebugMode.dll. Process main.exe (3144) | |
Module Load: WS2_32.dll. No Debug Info. Base Address: $76670000. Process main.exe (3144) | |
Module Load: FastMM_FullDebugMode.dll. No Debug Info. Base Address: $013B0000. Process main.exe (3144) | |
Module Load: netutils.dll. No Debug Info. Base Address: $74180000. Process main.exe (3144) | |
Module Load: IMM32.dll. No Debug Info. Base Address: $76E90000. Process main.exe (3144) | |
Module Load: WINSTA.dll. No Debug Info. Base Address: $74100000. Process main.exe (3144) | |
Module Load: UxTheme.dll. No Debug Info. Base Address: $70480000. Process main.exe (3144) | |
Module Load: MSCTF.dll. No Debug Info. Base Address: $754A0000. Process main.exe (3144) | |
Debug Output: FastMM has been installed. Process main.exe (3144) | |
Source Breakpoint at $00A657D8: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 20376. Process main.exe (3144) | |
Source Breakpoint at $004B3035: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: 'D:\Development\mainProject\main.exe : TCustomActionList' Process main.exe (3144) | |
Source Breakpoint at $004B3035: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: 'D:\Development\mainProject\main.exe : TCustomAction' Process main.exe (3144) | |
Module Load: dwmapi.dll. No Debug Info. Base Address: $6FD60000. Process main.exe (3144) | |
Module Load: CRYPT32.dll. No Debug Info. Base Address: $75D70000. Process main.exe (3144) | |
Module Load: MSASN1.dll. No Debug Info. Base Address: $76DC0000. Process main.exe (3144) | |
Module Load: WTSAPI32.dll. No Debug Info. Base Address: $74F20000. Process main.exe (3144) | |
Source Breakpoint at $004B3035: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: 'D:\Development\mainProject\main.exe : TCustomImageList' Process main.exe (3144) | |
Source Breakpoint at $004B3035: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: 'D:\Development\mainProject\main.exe : TCustomAction' Process main.exe (3144) | |
Source Breakpoint at $004B3035: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: 'D:\Development\mainProject\main.exe : TCustomActionList' Process main.exe (3144) | |
Source Breakpoint at $004B3035: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: 'D:\Development\mainProject\main.exe : TCustomGestureManager' Process main.exe (3144) | |
Source Breakpoint at $004B3035: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: 'D:\Development\mainProject\main.exe : TCommonDialog' Process main.exe (3144) | |
Source Breakpoint at $004B3035: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: 'D:\Development\mainProject\main.exe : TCustomFileDialog' Process main.exe (3144) | |
Source Breakpoint at $004B3035: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: 'D:\Development\mainProject\main.exe : TTimer' Process main.exe (3144) | |
Source Breakpoint at $004B3035: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: 'D:\Development\mainProject\main.exe : TCustomTrayIcon' Process main.exe (3144) | |
Source Breakpoint at $004B3035: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: 'D:\Development\mainProject\main.exe : TMenuItem' Process main.exe (3144) | |
Source Breakpoint at $004B3035: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: 'D:\Development\mainProject\main.exe : TMenu' Process main.exe (3144) | |
Module Load: odac250.bpl. Has Debug Info. Base Address: $035B0000. Process main.exe (3144) | |
Module Unload: odac250.bpl. Process main.exe (3144) | |
Module Load: odac250.bpl. Has Debug Info. Base Address: $035B0000. Process main.exe (3144) | |
Module Load: rtl250.bpl. Has Debug Info. Base Address: $50050000. Process main.exe (3144) | |
Module Load: dbrtl250.bpl. Has Debug Info. Base Address: $51170000. Process main.exe (3144) | |
Module Load: imagehlp.dll. No Debug Info. Base Address: $76650000. Process main.exe (3144) | |
Module Load: MPR.dll. No Debug Info. Base Address: $74830000. Process main.exe (3144) | |
Module Load: dac250.bpl. Has Debug Info. Base Address: $03740000. Process main.exe (3144) | |
Module Unload: dac250.bpl. Process main.exe (3144) | |
Module Load: OLEACC.dll. No Debug Info. Base Address: $70500000. Process main.exe (3144) | |
Module Load: OPENGL32.dll. No Debug Info. Base Address: $67CE0000. Process main.exe (3144) | |
Module Load: WINHTTP.dll. No Debug Info. Base Address: $707F0000. Process main.exe (3144) | |
Module Load: GLU32.dll. No Debug Info. Base Address: $67270000. Process main.exe (3144) | |
Module Load: dac250.bpl. Has Debug Info. Base Address: $03740000. Process main.exe (3144) | |
Source Breakpoint at $5063681C: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 20376. Process main.exe (3144) | |
Module Load: OLEPRO32.DLL. No Debug Info. Base Address: $681A0000. Process main.exe (3144) | |
Source Breakpoint at $004B3035: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: 'D:\Development\mainProject\main.exe : TOleControl' Process main.exe (3144) | |
Source Breakpoint at $004B3035: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: 'D:\Development\mainProject\main.exe : TOleServer' Process main.exe (3144) | |
Module Load: dllProject.dll. No Debug Info. Base Address: $01540000. Process main.exe (3144) | |
Module Unload: dllProject.dll. Process main.exe (3144) | |
Module Load: dllProject.dll. No Debug Info. Base Address: $01540000. Process main.exe (3144) | |
Module Load: IndySystem250.bpl. Has Debug Info. Base Address: $517E0000. Process main.exe (3144) | |
Module Load: borlndmm.dll. No Debug Info. Base Address: $50030000. Process main.exe (3144) | |
Module Load: vcl250.bpl. Has Debug Info. Base Address: $50A90000. Process main.exe (3144) | |
Module Load: IndyCore250.bpl. Has Debug Info. Base Address: $514E0000. Process main.exe (3144) | |
Module Load: IndyProtocols250.bpl. Has Debug Info. Base Address: $51550000. Process main.exe (3144) | |
Module Load: oledlg.dll. No Debug Info. Base Address: $672B0000. Process main.exe (3144) | |
Source Breakpoint at $5014B211: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: E2010 Incompatible types: 'TClass' and 'TPersistentClass' | |
Module Load: dbghelp.dll. No Debug Info. Base Address: $702A0000. Process main.exe (3144) | |
Debug Output: | |
FastMM has detected an error during a FreeMem operation. The block header has been corrupted. | |
The current thread ID is 0x718, and the stack trace (return addresses) leading to this error is: | |
40A449 [System.pas][System][@UStrClr$qqrpv][24867] | |
20036 | |
1541A07 [__dbk_fcall_wrapper] | |
1563544 [fnSetCommStatus] | |
7790D40C [RtlGetNtSystemRoot] | |
77940466 [Unknown function at RtlFreeUserStack] | |
7790D40C [RtlGetNtSystemRoot] | |
7791A65C [RtlCompareUnicodeStrings] | |
7791A624 [RtlCompareUnicodeStrings] | |
7791A8CF [RtlCompareUnicodeStrings] | |
7792229E [LdrRemoveLoadAsDataTable] | |
Current memory dump of 256 bytes starting at pointer address 3B5DA68: | |
B0 04 02 00 00 00 00 00 11 00 00 00 54 00 43 00 75 00 73 00 74 00 6F 00 6D 00 41 00 63 00 74 00 | |
69 00 6F 00 6E 00 4C 00 69 00 73 00 74 00 00 00 69 00 65 00 5C 00 64 00 65 00 78 00 65 00 73 00 | |
5C 00 49 00 6E 00 64 00 79 00 53 00 79 00 73 00 74 00 65 00 6D 00 32 00 35 00 30 00 2E 00 4E 00 | |
4C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
Process main.exe (3144) | |
Source Breakpoint at $5014B211: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: E2010 Incompatible types: 'TClass' and 'TPersistentClass' | |
Debug Output: | |
FastMM has detected an error during a FreeMem operation. The block header has been corrupted. | |
The current thread ID is 0x718, and the stack trace (return addresses) leading to this error is: | |
40A449 [System.pas][System][@UStrClr$qqrpv][24867] | |
20036 | |
1541A07 [__dbk_fcall_wrapper] | |
1563544 [fnSetCommStatus] | |
7790D40C [RtlGetNtSystemRoot] | |
77940466 [Unknown function at RtlFreeUserStack] | |
7790D40C [RtlGetNtSystemRoot] | |
7791A65C [RtlCompareUnicodeStrings] | |
7791A624 [RtlCompareUnicodeStrings] | |
7791A8CF [RtlCompareUnicodeStrings] | |
7792229E [LdrRemoveLoadAsDataTable] | |
Current memory dump of 256 bytes starting at pointer address 3B567B0: | |
B0 04 02 00 00 00 00 00 0D 00 00 00 54 00 43 00 75 00 73 00 74 00 6F 00 6D 00 41 00 63 00 74 00 | |
69 00 6F 00 6E 00 00 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
Process main.exe (3144) | |
Source Breakpoint at $5014B211: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: E2010 Incompatible types: 'TClass' and 'TPersistentClass' | |
Debug Output: | |
FastMM has detected an error during a FreeMem operation. The block header has been corrupted. | |
The current thread ID is 0x718, and the stack trace (return addresses) leading to this error is: | |
40A449 [System.pas][System][@UStrClr$qqrpv][24867] | |
20036 | |
1541A07 [__dbk_fcall_wrapper] | |
1563544 [fnSetCommStatus] | |
7790D40C [RtlGetNtSystemRoot] | |
77940466 [Unknown function at RtlFreeUserStack] | |
7790D40C [RtlGetNtSystemRoot] | |
7791A65C [RtlCompareUnicodeStrings] | |
7791A624 [RtlCompareUnicodeStrings] | |
7791A8CF [RtlCompareUnicodeStrings] | |
7792229E [LdrRemoveLoadAsDataTable] | |
Current memory dump of 256 bytes starting at pointer address 3B5DD08: | |
B0 04 02 00 00 00 00 00 10 00 00 00 54 00 43 00 75 00 73 00 74 00 6F 00 6D 00 49 00 6D 00 61 00 | |
67 00 65 00 4C 00 69 00 73 00 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
Process main.exe (3144) | |
Source Breakpoint at $5014B211: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: E2010 Incompatible types: 'TClass' and 'TPersistentClass' | |
Debug Output: | |
FastMM has detected an error during a FreeMem operation. The block header has been corrupted. | |
The current thread ID is 0x718, and the stack trace (return addresses) leading to this error is: | |
40A449 [System.pas][System][@UStrClr$qqrpv][24867] | |
20036 | |
1541A07 [__dbk_fcall_wrapper] | |
1563544 [fnSetCommStatus] | |
7790D40C [RtlGetNtSystemRoot] | |
77940466 [Unknown function at RtlFreeUserStack] | |
7790D40C [RtlGetNtSystemRoot] | |
7791A65C [RtlCompareUnicodeStrings] | |
7791A624 [RtlCompareUnicodeStrings] | |
7791A8CF [RtlCompareUnicodeStrings] | |
7792229E [LdrRemoveLoadAsDataTable] | |
Current memory dump of 256 bytes starting at pointer address 3B569F0: | |
B0 04 02 00 00 00 00 00 0D 00 00 00 54 00 43 00 75 00 73 00 74 00 6F 00 6D 00 41 00 63 00 74 00 | |
69 00 6F 00 6E 00 00 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
Process main.exe (3144) | |
Source Breakpoint at $5014B211: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: E2010 Incompatible types: 'TClass' and 'TPersistentClass' | |
Debug Output: | |
FastMM has detected an error during a FreeMem operation. The block header has been corrupted. | |
The current thread ID is 0x718, and the stack trace (return addresses) leading to this error is: | |
40A449 [System.pas][System][@UStrClr$qqrpv][24867] | |
20036 | |
1541A07 [__dbk_fcall_wrapper] | |
1563544 [fnSetCommStatus] | |
7790D40C [RtlGetNtSystemRoot] | |
77940466 [Unknown function at RtlFreeUserStack] | |
7790D40C [RtlGetNtSystemRoot] | |
7791A65C [RtlCompareUnicodeStrings] | |
7791A624 [RtlCompareUnicodeStrings] | |
7791A8CF [RtlCompareUnicodeStrings] | |
7792229E [LdrRemoveLoadAsDataTable] | |
Current memory dump of 256 bytes starting at pointer address 3B5DD40: | |
B0 04 02 00 00 00 00 00 11 00 00 00 54 00 43 00 75 00 73 00 74 00 6F 00 6D 00 41 00 63 00 74 00 | |
69 00 6F 00 6E 00 4C 00 69 00 73 00 74 00 00 00 00 00 00 00 01 00 00 00 B0 04 02 00 00 00 00 00 | |
12 00 00 00 74 00 6F 00 72 00 61 00 74 00 69 00 6D 00 65 00 73 00 74 00 61 00 6D 00 70 00 66 00 | |
69 00 65 00 6C 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
Process main.exe (3144) | |
Source Breakpoint at $5014B211: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: E2010 Incompatible types: 'TClass' and 'TPersistentClass' | |
Debug Output: | |
FastMM has detected an error during a FreeMem operation. The block header has been corrupted. | |
The current thread ID is 0x718, and the stack trace (return addresses) leading to this error is: | |
40A449 [System.pas][System][@UStrClr$qqrpv][24867] | |
20036 | |
1541A07 [__dbk_fcall_wrapper] | |
1563544 [fnSetCommStatus] | |
7790D40C [RtlGetNtSystemRoot] | |
77940466 [Unknown function at RtlFreeUserStack] | |
7790D40C [RtlGetNtSystemRoot] | |
7791A65C [RtlCompareUnicodeStrings] | |
7791A624 [RtlCompareUnicodeStrings] | |
7791A8CF [RtlCompareUnicodeStrings] | |
7792229E [LdrRemoveLoadAsDataTable] | |
Current memory dump of 256 bytes starting at pointer address 3B64E30: | |
B0 04 02 00 00 00 00 00 15 00 00 00 54 00 43 00 75 00 73 00 74 00 6F 00 6D 00 47 00 65 00 73 00 | |
74 00 75 00 72 00 65 00 4D 00 61 00 6E 00 61 00 67 00 65 00 72 00 00 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
Process main.exe (3144) | |
Thread Start: Thread ID: 10260. Process main.exe (3144) | |
Source Breakpoint at $5014B211: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: E2010 Incompatible types: 'TClass' and 'TPersistentClass' | |
Debug Output: | |
FastMM has detected an error during a FreeMem operation. The block header has been corrupted. | |
The current thread ID is 0x718, and the stack trace (return addresses) leading to this error is: | |
40A449 [System.pas][System][@UStrClr$qqrpv][24867] | |
20036 | |
1541A07 [__dbk_fcall_wrapper] | |
1563544 [fnSetCommStatus] | |
7790D40C [RtlGetNtSystemRoot] | |
77940466 [Unknown function at RtlFreeUserStack] | |
7790D40C [RtlGetNtSystemRoot] | |
7791A65C [RtlCompareUnicodeStrings] | |
7791A624 [RtlCompareUnicodeStrings] | |
7791A8CF [RtlCompareUnicodeStrings] | |
7792229E [LdrRemoveLoadAsDataTable] | |
Current memory dump of 256 bytes starting at pointer address 3B73590: | |
B0 04 02 00 00 00 00 00 06 00 00 00 54 00 54 00 69 00 6D 00 65 00 72 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
Process main.exe (3144) | |
Source Breakpoint at $5014B211: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: E2010 Incompatible types: 'TClass' and 'TPersistentClass' | |
Debug Output: | |
FastMM has detected an error during a FreeMem operation. The block header has been corrupted. | |
The current thread ID is 0x718, and the stack trace (return addresses) leading to this error is: | |
40A449 [System.pas][System][@UStrClr$qqrpv][24867] | |
20036 | |
1541A07 [__dbk_fcall_wrapper] | |
1563544 [fnSetCommStatus] | |
7790D40C [RtlGetNtSystemRoot] | |
77940466 [Unknown function at RtlFreeUserStack] | |
7790D40C [RtlGetNtSystemRoot] | |
7791A65C [RtlCompareUnicodeStrings] | |
7791A624 [RtlCompareUnicodeStrings] | |
7791A8CF [RtlCompareUnicodeStrings] | |
7792229E [LdrRemoveLoadAsDataTable] | |
Current memory dump of 256 bytes starting at pointer address 3B56A20: | |
B0 04 02 00 00 00 00 00 0F 00 00 00 54 00 43 00 75 00 73 00 74 00 6F 00 6D 00 54 00 72 00 61 00 | |
79 00 49 00 63 00 6F 00 6E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
Process main.exe (3144) | |
Source Breakpoint at $5014B211: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: E2010 Incompatible types: 'TClass' and 'TPersistentClass' | |
Debug Output: | |
FastMM has detected an error during a FreeMem operation. The block header has been corrupted. | |
The current thread ID is 0x718, and the stack trace (return addresses) leading to this error is: | |
40A449 [System.pas][System][@UStrClr$qqrpv][24867] | |
20036 | |
1541A07 [__dbk_fcall_wrapper] | |
1563544 [fnSetCommStatus] | |
7790D40C [RtlGetNtSystemRoot] | |
77940466 [Unknown function at RtlFreeUserStack] | |
7790D40C [RtlGetNtSystemRoot] | |
7791A65C [RtlCompareUnicodeStrings] | |
7791A624 [RtlCompareUnicodeStrings] | |
7791A8CF [RtlCompareUnicodeStrings] | |
7792229E [LdrRemoveLoadAsDataTable] | |
Current memory dump of 256 bytes starting at pointer address 3B88F60: | |
B0 04 02 00 00 00 00 00 09 00 00 00 54 00 4D 00 65 00 6E 00 75 00 49 00 74 00 65 00 6D 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
Process main.exe (3144) | |
Source Breakpoint at $5014B211: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: E2010 Incompatible types: 'TClass' and 'TPersistentClass' | |
Debug Output: | |
FastMM has detected an error during a FreeMem operation. The block header has been corrupted. | |
The current thread ID is 0x718, and the stack trace (return addresses) leading to this error is: | |
40A449 [System.pas][System][@UStrClr$qqrpv][24867] | |
20036 | |
1541A07 [__dbk_fcall_wrapper] | |
1563544 [fnSetCommStatus] | |
7790D40C [RtlGetNtSystemRoot] | |
77940466 [Unknown function at RtlFreeUserStack] | |
7790D40C [RtlGetNtSystemRoot] | |
7791A65C [RtlCompareUnicodeStrings] | |
7791A624 [RtlCompareUnicodeStrings] | |
7791A8CF [RtlCompareUnicodeStrings] | |
7792229E [LdrRemoveLoadAsDataTable] | |
Current memory dump of 256 bytes starting at pointer address 3B73730: | |
B0 04 02 00 00 00 00 00 05 00 00 00 54 00 4D 00 65 00 6E 00 75 00 00 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
Process main.exe (3144) | |
Source Breakpoint at $5014B211: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: E2010 Incompatible types: 'TClass' and 'TPersistentClass' | |
Debug Output: | |
FastMM has detected an error during a FreeMem operation. The block header has been corrupted. | |
The current thread ID is 0x718, and the stack trace (return addresses) leading to this error is: | |
40A449 [System.pas][System][@UStrClr$qqrpv][24867] | |
20036 | |
1541A07 [__dbk_fcall_wrapper] | |
1563544 [fnSetCommStatus] | |
7790D40C [RtlGetNtSystemRoot] | |
77940466 [Unknown function at RtlFreeUserStack] | |
7790D40C [RtlGetNtSystemRoot] | |
7791A65C [RtlCompareUnicodeStrings] | |
7791A624 [RtlCompareUnicodeStrings] | |
7791A8CF [RtlCompareUnicodeStrings] | |
7792229E [LdrRemoveLoadAsDataTable] | |
Current memory dump of 256 bytes starting at pointer address 3B56A50: | |
B0 04 02 00 00 00 00 00 0D 00 00 00 54 00 43 00 6F 00 6D 00 6D 00 6F 00 6E 00 44 00 69 00 61 00 | |
6C 00 6F 00 67 00 00 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |
Process main.exe (3144) | |
Source Breakpoint at $5014B211: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3267. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(FindClassHInstance(AClass)) + ' : ' + AClass.ClassName: E2010 Incompatible types: 'TClass' and 'TPersistentClass' | |
Debug Output: | |
FastMM has detected an error during a FreeMem operation. The block header has been corrupted. | |
The current thread ID is 0x718, and the stack trace (return addresses) leading to this error is: | |
40A449 [System.pas][System][@UStrClr$qqrpv][24867] | |
20036 | |
1541A07 [__dbk_fcall_wrapper] | |
1563544 [fnSetCommStatus] | |
7790D40C [RtlGetNtSystemRoot] | |
77940466 [Unknown function at RtlFreeUserStack] | |
7790D40C [RtlGetNtSystemRoot] | |
7791A65C [RtlCompareUnicodeStrings] | |
7791A624 [RtlCompareUnicodeStrings] | |
7791A8CF [RtlCompareUnicodeStrings] | |
7792229E [LdrRemoveLoadAsDataTable] | |
Current memory dump of 256 bytes starting at pointer address 3B5DAD8: | |
B0 04 02 00 00 00 00 00 11 00 00 00 54 00 43 00 75 00 73 00 74 00 6F 00 6D 00 46 00 69 00 6C 00 | |
65 00 44 00 69 00 61 00 6C 00 6F 00 67 00 00 00 00 00 00 00 A0 D9 B5 03 D8 99 16 50 00 00 00 00 | |
01 00 00 00 AC 95 16 50 6C 30 18 50 10 DB B5 03 78 30 18 50 10 DB B5 03 48 1C B8 03 CC F0 63 50 | |
00 00 00 00 00 00 00 00 00 00 00 00 A0 D9 B5 03 CC C0 BA 50 00 00 00 00 00 00 00 00 84 | |
Process main.exe (3144) | |
Thread Start: Thread ID: 5328. Process main.exe (3144) | |
First chance exception at $75A8C762. Exception class EConvertError with message ''' is not a valid integer value'. Process main.exe (3144) | |
Thread Start: Thread ID: 1016. Process main.exe (3144) | |
Module Load: TextInputFramework.dll. No Debug Info. Base Address: $6BB10000. Process main.exe (3144) | |
Module Load: CoreMessaging.dll. No Debug Info. Base Address: $6B810000. Process main.exe (3144) | |
Module Load: CoreUIComponents.dll. No Debug Info. Base Address: $6B8A0000. Process main.exe (3144) | |
Module Load: WinTypes.dll. No Debug Info. Base Address: $71010000. Process main.exe (3144) | |
Module Load: NTMARTA.dll. No Debug Info. Base Address: $74150000. Process main.exe (3144) | |
Module Load: WinTypes.dll. No Debug Info. Base Address: $05AE0000. Process main.exe (3144) | |
Module Load: WinTypes.dll. No Debug Info. Base Address: $05A00000. Process main.exe (3144) | |
Module Unload: WinTypes.dll. Process main.exe (3144) | |
Module Unload: WinTypes.dll. Process main.exe (3144) | |
Source Breakpoint at $5014BF98: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3725. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(Module): 'D:\Development\dllProject\dllProject.dll' Process main.exe (3144) | |
Source Breakpoint at $5014BFA4: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3727. Process main.exe (3144) | |
Source Breakpoint at $5014BFD9: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3725. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(Module): 'D:\Development\dllProject\dllProject.dll' Process main.exe (3144) | |
Source Breakpoint at $5014BFA4: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3727. Process main.exe (3144) | |
Source Breakpoint at $5014BFD9: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3725. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(Module): 'D:\Development\dllProject\dllProject.dll' Process main.exe (3144) | |
Module Unload: borlndmm.dll. Process main.exe (3144) | |
Source Breakpoint at $5014BF98: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3725. Process main.exe (3144) | |
Breakpoint Expression GetModuleName(Module): 'D:\Development\mainProject\IndyProtocols250.bpl' Process main.exe (3144) | |
Source Breakpoint at $5014BFA4: c:\program files (x86)\embarcadero\studio\19.0\source\rtl\common\System.Classes.pas line 3727. Process main.exe (3144) | |
First chance exception at $5014BFB4. Exception class $C0000005 with message 'access violation at 0x5014bfb4: read of address 0x03b64d7c'. Process main.exe (3144) | |
First chance exception at $50039CA8. Exception class $C0000005 with message 'access violation at 0x50039ca8: read of address 0x50039ca8'. Process main.exe (3144) | |
First chance exception at $50039CA8. Exception class $C0000005 with message 'access violation at 0x50039ca8: read of address 0x50039ca8'. Process main.exe (3144) | |
First chance exception at $50039CA8. Exception class $C0000005 with message 'access violation at 0x50039ca8: read of address 0x50039ca8'. Process main.exe (3144) | |
First chance exception at $50039CA8. Exception class $C0000005 with message 'access violation at 0x50039ca8: read of address 0x50039ca8'. Process main.exe (3144) | |
First chance exception at $50039CA8. Exception class $C0000005 with message 'access violation at 0x50039ca8: read of address 0x50039ca8'. Process main.exe (3144) | |
First chance exception at $50039CA8. Exception class $C0000005 with message 'access violation at 0x50039ca8: read of address 0x50039ca8'. Process main.exe (3144) | |
First chance exception at $50039CA8. Exception class $C0000005 with message 'access violation at 0x50039ca8: read of address 0x50039ca8'. Process main.exe (3144) | |
First chance exception at $50039CA8. Exception class $C0000005 with message 'access violation at 0x50039ca8: read of address 0x50039ca8'. Process main.exe (3144) |