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已经是个指针了,不要再取地址
------解决方案--------------------
管理选项给分