Hallo ihr Lieben,
Ich habe hier folgendes kleines Stückchen Code:
Delphi-Quellcode:
procedure TComThread.COMDebug(S:
string);
var
P: PChar;
didWork: Boolean;
aHandle: HWND;
aTickCnt: Cardinal;
aTimeStamp: Cardinal;
S2:
string;
begin
try
aTickCnt := GetTickCount;
aTimeStamp := aTickCnt - PultStartTime;
S := '
ms: ' + S;
S2:= IntToStr(aTimeStamp);
S := S2 + S;
// getmem(P, length(S) + 1);
// strPCopy(P, S);
// aHandle := Self.Handle;
// didWork := PostMessage(aHandle, WM_COMTHREAD, IDCOMDebug, LongInt(P));
// didWork := PostMessage(FHandle, WM_COMTHREAD, IDCOMDebug, LongInt(P));
TraceString('
ComDebug:' + S);
// if assigned(SLDebug) then
// SLDebug.Add(inttostr(GetTickCount - PultStartTime) + ' ms: ' + S + ' ' + BoolToStr(didWork,true));
except
on ex:
Exception do
begin
TraceString('
ComDebugException:' + S);
TraceString('
ComDebugException:' + ex.
Message);
end;
end;
end;
Wie ihr seht handelt es sich um eine Debugprozedur für eine
COM-Schnittstelle, die bei mir eingebunden ist.Wie ihr seht, habe ich ein anderes Trace eingefügt und an den auskommentierten Zeilen erkennt ihr auch, dass ich schon ein wenig herumprobiert habe...
Das IntToStr liefert mir teilweise, also nicht immer, aber doch immer an den selben Stellen eine "Zugriffsverletzung bei Adresse 00402FEB in Modul 'mitPultComp.exe'. Schreiben von Adresse 0057001C" Woher kommt das? Und wie krieg ich das weg?
Als Umgebung verwende ich Delphi 2010.
Ich hoffe, ihr könnt mir irgendwie helfen?