Vielleicht steht dort ein falscher Wert in einem Feld.
Hallo mkinzler
Du kannst durcaus recht haben, mein Problem ist nur das ich nicht sehe wo ich suchen soll....
Da ich "leider" mit einigen Globalen Variablen arbeite dachte ich schon das dies ein Problem verursachen könnte. Habe jetzt mal Fastmm eingerichtet und erhalte nun dies:
Code:
First chance
exception at $7796C42D.
Exception class EInvalidPointer with message 'Invalid pointer operation'. Process Gideons_Admin.exe (6636)
Bei CALL_FreeMem bleibt er hängen...
Sory das ich keine genauere stelle geben kann...
Code:
procedure _UStrClr(var S);
{$IFDEF CPUX86}
asm
{ -> EAX pointer to str }
{ <- EAX pointer to str }
MOV EDX,[EAX] { fetch str }
TEST EDX,EDX { if nil, nothing to do }
JE @@done
MOV dword ptr [EAX],0 { clear str }
MOV ECX,[EDX-skew].StrRec.refCnt { fetch refCnt }
DEC ECX { if < 0: literal str }
JL @@done
LOCK
DEC [EDX-skew].StrRec.refCnt { threadsafe
dec refCount }
JNE @@done
{$IFDEF ALIGN_STACK}
SUB ESP,8
{$ENDIF ALIGN_STACK}
PUSH EAX
LEA EAX,[EDX-skew] { if refCnt now zero, deallocate}
CALL _FreeMem
POP EAX
{$IFDEF ALIGN_STACK}
ADD ESP,8
{$ENDIF ALIGN_STACK}
@@done:
end;