开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 1947|回复: 1

Dev2005版的Repx文件如何升级

[复制链接]

0

精华

1

贡献

0

赞扬

帖子
12
软币
228
在线时间
25 小时
注册时间
2015-7-29
发表于 2016-7-27 14:34:16 | 显示全部楼层 |阅读模式
本帖最后由 autosl 于 2016-7-27 14:36 编辑

原先开发的系统使用的是Developer Express Inc.NET.2005,现在使用14.2。WinForm,.Net4.0,控件的升级都很正常。现在就是旧的报表文件 Repx是Soap序列化的,现在的无法反序列。很郁闷。LoadLayout和LoadLayoutFromXML,FromFile都无法加载原先的报表文件。不知哪位大神能帮下忙,提供一下思路。万分感谢。

Products by Categories.zip

2.82 KB, 下载次数: 1

Repx模板

回复

使用道具 举报

0

精华

1

贡献

0

赞扬

帖子
12
软币
228
在线时间
25 小时
注册时间
2015-7-29
 楼主| 发表于 2016-7-28 21:35:25 | 显示全部楼层
XRSerializationInfoBase类的GetValue函数不够完善,converter.Convert(item, type)会失败。改为蓝色部分即可。
  public abstract class XRSerializationInfoBase
    {
        FormatterConverter converter;
        protected XRSerializationInfoBase()
        {
            converter = new FormatterConverter();
        }
        protected abstract bool ContainsKey(string name);
        protected abstract object GetValue(string name);
        protected abstract void AddValueInternal(string name, object value);
        public object GetValue(string name, Type type, object defaultValue)
        {
            if (!ContainsKey(name)) { return defaultValue; }
            object item = GetValue(name);          //return item == null || type.IsAssignableFrom(item.GetType()) ? item : converter.Convert(item, type);
            if (item == null || type.IsAssignableFrom(item.GetType())) { return item; }
            else { object result = defaultValue; try { result = converter.Convert(item, type); } catch { } return result; }

            
        }
回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-6-26 15:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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