DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: aaaarrrrrrrrrrrr
今日帖子: 59
在线用户: 8
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 ranger (ranger) ★☆☆☆☆ -
盒子活跃会员
2004/1/5 18:50:17
标题:
有关Delphi类引用的问题 浏览:1503
加入我的收藏
楼主: 请教各位DX:
本人在开发中使用类引用动态建立自定义类时,不能正确调用自定义类的构造函数,请教如何解决?

示例:
unit1
...
TMyObject = class(TObject)
private:
  FSomething: TStrings;
public:
  constructor create;//在其中Create FSomething;
end;

TMyRef = class of TEle;

unit2
.....

procedure ...(aRef: TMyRef);
var
MyObject:TMyObject;
begin
  if ... then
  MyObject := aRef.Create;//此处不能调用MyObject 的构造函数,由此
                          //FSomething亦不能创建
  ....
end;

望不吝赐教!

----------------------------------------------
- 还冇学会
作者:
男 zoomyyf (老杨) ★☆☆☆☆ -
普通会员
2004/1/5 19:10:47
1楼: 在unit2的uses 中有引用unit1吗?
----------------------------------------------
老杨
作者:
男 ranger (ranger) ★☆☆☆☆ -
盒子活跃会员
2004/1/5 19:16:59
2楼: 有呀
----------------------------------------------
- 还冇学会
作者:
男 ranger (ranger) ★☆☆☆☆ -
盒子活跃会员
2004/1/5 19:20:11
3楼: 请教各位DX:
本人在开发中使用类引用动态建立自定义类时,不能正确调用自定义类的构造函数,请教如何解决?

示例:
unit1
...
TMyObject = class(TObject)
private:
  FSomething: TStrings;
public:
  constructor create;//在其中Create FSomething;
end;

TMyObject2 = class(TMyObject)
....
end;

TMyRef = class of TMyObject;

unit2
.....

procedure ...(aRef: TMyRef);
var
MyObject:TMyObject;
begin
  if aRef = TMyObject2 then
  MyObject := aRef.Create;//此处不能调用MyObject 的构造函数,由此
                          //FSomething亦不能创建
  ....
end;

望不吝赐教!

----------------------------------------------
- 还冇学会
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2004/1/5 21:42:48
4楼: 当然不行了

MyObject 是 TMyObject类的对象
aRef 是TEle类的对象!

这样试试:
...
TMyObject = class(TEle)
private:
.....
----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
作者:
男 ranger (ranger) ★☆☆☆☆ -
盒子活跃会员
2004/1/5 22:28:43
5楼: 不好意思,Tele 应为 TMyObject, 是我的笔误,如三楼所示

麻烦各位再看一看

再次Sorry!

----------------------------------------------
- 还冇学会
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2004/1/6 4:04:56
6楼: constructor Create;
begin
  inherited;
  // Do something
end;
----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
作者:
男 ranger (ranger) ★☆☆☆☆ -
盒子活跃会员
2004/1/6 8:45:04
7楼: 谢谢!
已解决
----------------------------------------------
- 还冇学会
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行70.3125毫秒 RSS