小编use*_*897的帖子

如何在TThread中设置堆栈大小?

如何设置自定义堆栈大小TThread?我正在尝试重新引入构造函数,TThread但是它表示它ThreadProc已经缺失但它的权利在那里System.Classes.

type
  TThreadHelper = class helper for TThread
    constructor Create(const CreateSuspended: Boolean = False; const StackSize: Integer = 0); reintroduce;
 end;

{ TThreadHelper }

constructor TThreadHelper.Create(const CreateSuspended: Boolean; const StackSize: Integer);
begin
  Self.FSuspended := not Self.FExternalThread;
  Self.FCreateSuspended := CreateSuspended and not Self.FExternalThread;
  if not Self.FExternalThread then
  begin
    Self.FHandle := BeginThread(nil, StackSize, @ThreadProc, Pointer(Self), CREATE_SUSPENDED, Self.FThreadID);
    if Self.FHandle = 0 then
    raise EThread.CreateResFmt(@SThreadCreateError, [SysErrorMessage(GetLastError)]);
  end
  else
  begin
    Self.FHandle := Winapi.Windows.GetCurrentThread;
    Self.FThreadId := GetCurrentThreadId; …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-xe6

5
推荐指数
1
解决办法
1173
查看次数

标签 统计

delphi ×1

delphi-xe6 ×1