DP_*_*DP_ 1 delphi multithreading delphi-2009
我需要在Delphi中启动一个线程并使用以下代码:
function ThreadFunc(tp: PThreadParams): Integer;
var
I: Integer;
begin
OutputDebugString(PChar('ThreadFunc, 1'));
for I := 0 to 10000 do
begin
if (I MOD 100) = 0 then
begin
OutputDebugString(PChar('Sample Delphi DLL ' + IntToStr(I)));
end;
end;
Dispose(tp);
end;
procedure RunThread;
var
tp : PThreadParams;
Thread : THandle;
ThreadID : Cardinal;
ExitCode : Cardinal;
begin
New(tp);
OutputDebugString(PChar('RunThread, 1'));
Thread := BeginThread(nil, 0, @ThreadFunc, tp, 0, ThreadID);
OutputDebugString(PChar('RunThread, 2. ThreadID: ' + IntToStr(ThreadID)));
WaitForSingleObject(Thread, INFINITE);
GetExitCodeThread(Thread, ExitCode);
CloseHandle(Thread);
end;
Run Code Online (Sandbox Code Playgroud)
当我运行RunThread时,日志文件包含条目
RunThread,1
RunThread,2.ThreadID:...
但没有日志输出ThreadFunc.
我应该如何更改此代码以便执行实际的线程函数(ThreadFunc)?