怎么把一个LongInt转化成TForm1呢??

alphagx 2003-07-06 11:03:04
我使用了回调函数,并使用TForm1的指针作为参数,
即 LongInt(@TForm1)
然后在VC里面调用这个DELPHI的回调,
当回调函数得到响应的时候,我得到的只是一个longint

我想把他转化成TForm1,怎么办??

...全文
50 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
alphagx 2003-07-06
  • 打赏
  • 举报
回复
成功了,呵呵。感谢杀手。
alphagx 2003-07-06
  • 打赏
  • 举报
回复
倒,没看见,呵呵。SORRY,分不是问题,
几万分都可以给的。
Eastunfail 2003-07-06
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/TopicView1.asp?id=1991882

55555555~~~~~~~~~~~~我在那个帖子里面写那么多,你一分都不给......................................
Eastunfail 2003-07-06
  • 打赏
  • 举报
回复
假设你的对象为Form1。那么要将Form1的指针转换为Longint,可以直接:
Longint(Form1),而不用@取指针.这是因为Delphi无法像C++那样可以在栈上面创建对象,只可以在堆上面创建对象.类似于: TForm1 *Form1=new TForm1()这样创建的Form1.

所以如果要将一个Longint转换成Form1,可以直接 TForm1(i)这来转,(假设i为longint类型).
gub 2003-07-06
  • 打赏
  • 举报
回复
关注
alphagx 2003-07-06
  • 打赏
  • 举报
回复
对,我的那个longint是地址值,

在DELPHI中怎么用那个值呢??
ghui 2003-07-06
  • 打赏
  • 举报
回复
这个longint只是一个地址值


TForm1 *f=(TForm1 *)v; // v 就是你的 longint

以下是在 C++ Builder 中通过

int x;

//Form2是一个已经创建的窗体,只是没有显示
//现在将地址的值赋到Int类型中
x=(int)Form2;

//将Int类型强制转换为地址值
//并将地址值赋到 TForm对象变量上
TForm *t=(TForm *)x;

//TForm对象变量t获得了Form2的地址,即t已经是Form2的对象变量
t->ShowModal();

VC中也差不多

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧