如何实现线程参数的传递(0分)

  • 主题发起人 主题发起人 lixiaoheng
  • 开始时间 开始时间
哎呀,一分不给。
下面把Data作为参数。
function ThreadFunc(Ptr: Pointer): LongInt;
stdcall;
var
i, j: Integer;
P: TColorRef;
DC: HDC;
Data: PData;
begin
Data := PData(Ptr);
DC := GetDC(Form1.Handle);
for j := 0 to AHeightdo
for i := Margin to AWidth + Margindo
begin
P := GetPixel(DC, i, j);
SetPixel(DC, i + Data^.Xpos, Data^.YPos + j, P);

ReleaseDC(Form1.Handle, DC);
Dispose(Data);
end;

调用
new(data);
data^.xpos:=awidth;
data^ypos:=0
hThread:=createThread(nil,0,@ThreadFunc,Data,0,ThreadId);
...不要告诉我是线程之间的 传递。。呵呵。。
 
接受答案了.
 
后退
顶部