起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 150|回复: 3

请问!!!

[复制链接]
发表于 2010-1-4 14:45:57 | 显示全部楼层 |阅读模式
var
  s:TFileStream;
begin
  try
    s:=TFileStream.Create('D:\A.txt',Business.System.SysUtils.fmOpenWrite);
    s.WriteComponent(My);
  finally
    s.Free;
  end;

对象流化后读取  MY是自定义类 继承自TComponent;

回读时报未注册类错误  

后发现调用
  RegisterClass(TMySetBtn);
  RegisterClass(TLabel);
  RegisterClass(TMyImg);
  RegisterClass(TMyPanel);
都不成功,请问为什么,怎么解决呢
回复

使用道具 举报

发表于 2010-1-5 11:52:19 | 显示全部楼层
平台不能使用RegisterClass这个函数,这里面用到了类的引用,只能在delphi实现在后在平台里面调用包了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-1-15 13:54:08 | 显示全部楼层
对象的流化,读取该如何。
回复 支持 反对

使用道具 举报

发表于 2010-1-15 16:01:29 | 显示全部楼层
对象的流化,读取该如何?
是指如何将序列化的对象,反序列化回来?还是指反序列化回来后怎么处理?
如果指想反序列回来的话,就像楼主那样读就可以了。
如果指反序列化回来怎么处理,是取决于业务的,得放在大环境中说了!
但有一点x3是不支持类注册(RegisterClass)函数的,如果必须注册的话,把注册过程封个delphi包,然后在studio里写代码调用吧!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-12 12:42 , Processed in 0.038043 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表