我写了如下代码,运行结果却很有问题,请前辈们指点!谢谢!
运行结果如下GIF动画
var
Form1: TForm1;
procedure MsgBox();
implementation
procedure MsgBox();begin
ShowMessage('info');
end;
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
lpThreadId: DWORD;
hThread:LongInt;
begin
hThread:=Windows.CreateThread(nil,0,Pointer(@MsgBox),nil,0,lpThreadId);
CloseHandle(hThread);
end;end.
运行结果如下GIF动画
var
Form1: TForm1;
procedure MsgBox();
implementation
procedure MsgBox();begin
ShowMessage('info');
end;
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
lpThreadId: DWORD;
hThread:LongInt;
begin
hThread:=Windows.CreateThread(nil,0,Pointer(@MsgBox),nil,0,lpThreadId);
CloseHandle(hThread);
end;end.
因为是系统级调用, 还要缀上 stdcall.而你的是一个过程
begin
ShowMessage('info');
Result := 0;
end;
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
lpThreadId: DWORD;
hThread:LongInt;
begin
hThread:= CreateThread(nil,0,@MsgBox,nil,0,lpThreadId);
CloseHandle(hThread);
end;end.
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;
function MsgBox(p: Pointer): Integer;
begin
Application.MessageBox('info','msg',64);
Result := 0;
end;
现在开始学习DELPHI,,不知道要什么样的基础