【问题标题】:Migrating from Powerbuilder 6.5 to 10.5从 Powerbuilder 6.5 迁移到 10.5
【发布时间】:2010-06-26 12:56:58
【问题描述】:

我们有一个使用 PFC 构建的应用程序。我面临一个奇怪的问题。当我定义一个工作区并只打开 PFC 库时,我可以迁移并执行完整的构建。但是,当我将它包含在我的应用程序库中时,它不会构建,并给我一个错误,指出 C0001:非法数据类型 s_printsetupattrib。

无论在何处使用,都会发生此错误。

谷歌搜索没有给出任何答案。我试图在 pfcapsrv.pbl 中重新生成 s_printsetupattrib,它重新生成得很好。我尝试的下一步是重新生成 pfc_n_cst_platform (pfcapsrv.pbl) 和其他此类对象,但这些对象不会重新生成,并抛出此错误。

在应用迁移库列表中pbl需要按顺序列出吗?

我将不胜感激在这件事上的任何帮助。

问候, 恩德赛。

【问题讨论】:

    标签: types migration powerbuilder powerbuilder-pfc


    【解决方案1】:

    如果您可以顺利迁移 PFC,则它不是 6.5 PFC。我已将 6.5 迁移到 9.0,但我没有笔记了。打印机设置是 Sybase 在版本 8 或 9 中添加的内容之一。较旧的 PFC 使用自定义 DLL 和结构来显示系统打印机对话框,但较新的 PB 具有内置调用,因此 PFC 调用它。较新版本的 PFC 使用对象而不是结构来传递值。这是我知道您没有使用旧 PFC 的另一种方式。但是,您的 6.5 应用程序是为旧 PFC 编写的。

    我建议您从 Codeplex 获取 latest build of the PFC for 10.5。我认为帮助就在那个包里,如果不是 ping 我,我会给你一个链接。查看在 PFC 中调用打印设置的新方法并相应地更改您的代码。有一些非 PFC 问题需要注意。浏览Terry's archive of PowerBuilder changes 看看有什么会咬你的。在我的脑海中,我认为编辑掩码、树视图和 DataWindow 事件(它们发生的顺序)的行为发生了变化。

    【讨论】:

      【解决方案2】:

      我注意到这个问题已经过时了,但是由于您没有真正得到答案,所以加上我的 2cents。

      如果您正在使用项目对象,并从那里执行构建“部署”并指定“完整构建”,那么 PB 会自动以正确的顺序编译事物,除非您有重复的对象名称,否则无需将事物按顺序排列这不是最好的主意。我想我建议您检查以确保您的 PBL 中也没有重复的对象。

      如果您仍然遇到问题,我遇到了 PB 编译器混淆的问题,例如自引用情况或其他复杂情况,并且它是一个 PITA,大多数情况下发生这种情况时,无论如何它的设计都很糟糕,所以试着了解什么正在继续修改代码,不是你想听到的,而是发生了一些事情。

      或者...作为另一种解决方法,我们遇到了无法正确编译的问题代码,当它失败时,您会找到无法编译的对象(在您的情况下是引用结构的对象)并打开它文件-> 开源,找到引用该结构的代码,如果可行,将其注释掉并尝试重新编译。一切编译完成后,打开手动注释的对象并编译。

      您所描述的情况并不少见,有时您必须发挥创造力,尤其是在使用过时的 PFC 时。

      真诚地, 丰富

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多