Hi,
ich habe nur eine kurze frage. Ich erstelle mit TJvMTThread einen Thread, der über Postmessage mit dem programm redet, um ausgaben zu machen. Leider musste ich feststellen das das öfters mal in die hose geht. Leider weiss ich nicht warum. Ich bekomme nie 2x die gleiche fehler meldung. Aber es sind immer ungültige Pointer. z.b. mal in StrLen oder Minimizename usw.
Ist es besser wenn man Threads wie folgt macht? Weil von da kenne ich das mit dem Postmessage. Oder ist das mit dem Post falsch bei TJvMTThread?
Danke im voraus
Delphi-Quellcode:
const
THREAD_TERMINATE = $0001;
THREAD_SUSPEND_RESUME = $0002;
THREAD_GET_CONTEXT = $0008;
THREAD_SET_CONTEXT = $0010;
THREAD_SET_INFORMATION = $0020;
THREAD_QUERY_INFORMATION = $0040;
THREAD_SET_THREAD_TOKEN = $0080;
THREAD_IMPERSONATE = $0100;
THREAD_DIRECT_IMPERSONATION = $0200;
THREAD_SET_LIMITED_INFORMATION = $0400;
THREAD_QUERY_LIMITED_INFORMATION = $0800;
THREAD_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED or SYNCHRONIZE or $03FF;
function OpenThread(dwDesiredAccess: DWord;
bInheritHandle: Bool;
dwThreadId: DWord): DWord; stdcall; external 'kernel32.dll';
{##############################################################################}
procedure StartNewThread;
begin
ThreadHandle:=BeginThread(nil, 0, @MyThread,@MyID, 0, ThreadID);
if ThreadHandle<>0 then CloseHandle(ThreadHandle);
end; {StartNewThread}