delphi线程问题又出错了还请各位多多赐教
又出错了还请各位多多赐教
有图
delphi线程问题
求解决方法
[解决办法]
function BeginThread(SecurityAttributes: Pointer; StackSize: LongWord;
ThreadFunc: TThreadFunc; Parameter: Pointer; CreationFlags: LongWord;
var ThreadId: LongWord): Integer;
var
P: PThreadRec;
begin
New(P);
P.Func := ThreadFunc;
P.Parameter := Parameter;
IsMultiThread := TRUE;
Result := CreateThread(SecurityAttributes, StackSize, @ThreadWrapper, P,
CreationFlags, ThreadID);
end;
使用 BeginThread 基本也是封装了 IsMultiThread := TRUE;
一样的
[解决办法]
用beginthread,它的参数跟createthread完全一样,而且它还有createthread没有的异常处理功能。
不过beginthread在内部调用createthread时使用了默认的安全设置和堆栈大小。
[解决办法]
thread:=BeginThread(0,0,ReceiveThread,@ListBox1,0,threadid);
function BeginThread(SecurityAttributes: Pointer; StackSize: LongWord;
ThreadFunc: TThreadFunc; Parameter: Pointer; CreationFlags: LongWord;
var ThreadId: LongWord): Integer;
var
P: PThreadRec;
begin
New(P);
P.Func := ThreadFunc;
P.Parameter := Parameter;
IsMultiThread := TRUE;
Result := CreateThread(SecurityAttributes, StackSize, @ThreadWrapper, P,
CreationFlags, ThreadID);
end;
使用 BeginThread 基本也是封装了 IsMultiThread := TRUE;
------顶一下,,,
[解决办法]
主意生成线程的地方 有没有继承父方法