Delphi7 CreateThread实例参考代码
时间: 2024-11-03 10:19:02 浏览: 27
Delphi7创建及释放线程实例
Delphi 7 中,`CreateThread` 是 Windows API 函数,用于创建一个新的线程。以下是一个简单的实例,展示了如何在 Delphi 环境下创建新线程并执行自定义函数:
```pascal
uses
SysUtils,
Classes;
// 定义一个需要在线程中运行的匿名过程或方法
TMyThreadProc = procedure(AParam: Integer) stdcall;
var
ThreadHandle: THandle;
ExitCode: DWORD;
begin
SetLength(ThreadHandle, 1);
// 创建新线程,传入一个指向我们的自定义函数 MyThreadFunction 和参数
Result := CreateThread(nil, 0, @TMyThreadProc, Self, 0, ThreadHandle[0]);
if Result <> 0 then begin
// 线程创建成功,等待它完成
WaitForSingleObject(ThreadHandle[0], INFINITE);
// 获取线程退出状态
GetExitCodeThread(ThreadHandle[0], ExitCode);
// 清理资源
CloseHandle(ThreadHandle[0]);
// 根据 ExitCode 处理结果
if (ExitCode = 0) then
ShowMessage('Thread completed successfully');
else
ShowMessage('Thread failed with exit code: ' + IntToStr(ExitCode));
end else
ShowMessage('Failed to create thread: ' + FormatError(GetLastError));
end;
// 自定义要在新线程中运行的函数
procedure TYourForm.MyThreadFunction(const AParam: Integer);
begin
// 这里写你的线程任务,比如打印参数或者其他操作
Writeln('Thread started with parameter: ', AParam);
end;
// 调用示例
begin
// 在主线程上创建新线程,并传递参数给自定义函数
TMyThreadProc := @MyThreadFunction;
TMyThreadProc(Self, 42); // 第二个参数是你希望传入新线程的任意值
end;
阅读全文