Pointer 如何转换为指定的类
Pointer 怎么转换为指定的类
procedure _Thread_SQ_(_ball_: Pointer);
var
b: Ball;
begin
b := _ball_ as Ball;
showmessage(b.link_sq);
end;
_ball_ 是传进来的 Ball 类 Pointer
现在想 b := _ball_ as Ball;
怎么搞都不成功!!
帮帮忙~~~谢谢了!!
------解决方案--------------------
procedure ShowClass(obj : Pointer);
var
myObj : TMyClass;
begin
myObj := TObject(obj) as TMyClass;
Showmessage(myObj.ClassName);
end;
var
s : TMyClass;
begin
s := TMyClass.Create;
ShowClass(Pointer(s));
s.Free;
end;
------解决方案--------------------
windows.CreateThread(nil,0,@_Thread_SQ_,Pointer(b),0,b.thread_id_sq);
@b改为Pointer(b),或直接用b,b已经是个指针了,不要再取地址
------解决方案--------------------
管理选项给分
procedure _Thread_SQ_(_ball_: Pointer);
var
b: Ball;
begin
b := _ball_ as Ball;
showmessage(b.link_sq);
end;
_ball_ 是传进来的 Ball 类 Pointer
现在想 b := _ball_ as Ball;
怎么搞都不成功!!
帮帮忙~~~谢谢了!!
------解决方案--------------------
procedure ShowClass(obj : Pointer);
var
myObj : TMyClass;
begin
myObj := TObject(obj) as TMyClass;
Showmessage(myObj.ClassName);
end;
var
s : TMyClass;
begin
s := TMyClass.Create;
ShowClass(Pointer(s));
s.Free;
end;
------解决方案--------------------
windows.CreateThread(nil,0,@_Thread_SQ_,Pointer(b),0,b.thread_id_sq);
@b改为Pointer(b),或直接用b,b已经是个指针了,不要再取地址
------解决方案--------------------
管理选项给分