从 Powerbuilder 6.5 迁移到 10.5

发布于 2024-09-07 15:42:20 字数 392 浏览 5 评论 0原文

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

无论使用什么地方都会出现此错误。

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

在应用程序迁移库列表中是否需要列出 pbl 的顺序?

我将不胜感激任何有关此事的帮助。

问候, 恩德赛。

We have an application that is built using PFC. I am facing a strange problem. When I define a workspace and open only the PFC librares, I can migrate and do a full Build. However, when I include this in my application library, it will not build, and gives me an error stating C0001: Illegal datatype s_printsetupattrib.

This error occurs wherever it is used.

Googling hasn't given any answers. I have tried to regenerate s_printsetupattrib within the pfcapsrv.pbl, and it regenerates fine. The next step I tried was to regenerate pfc_n_cst_platform (pfcapsrv.pbl), and other such objects, but these do not regenerate, and throw this error.

Is there anything in the sequence in which the pbl need to be listed in the application migration library list?

I will appreciate any help in the matter.

Regards,
Ndesai.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

赠佳期 2024-09-14 15:42:20

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

我建议您从 Codeplex 获取最新版本的 PFC 10.5。我想帮助就在那个包里,如果你不联系我,我会帮你找到一个链接。查看在 PFC 中调用打印设置的新方法并相应地更改您的代码。有一些非 PFC 问题需要注意。查看 Terry 的 PowerBuilder 更改存档,看看哪些内容可能会让您烦恼。我突然想到,编辑掩码、树视图和数据窗口事件的行为发生了变化(它们发生的顺序)。

If you can migrate your PFC without errors, it isn't the 6.5 PFC. I've migrated 6.5 to 9.0 but I don't have my notes anymore. The printer setup is one of the things Sybase added around version 8 or 9. Older PFC used a custom DLL and the structure to show the system printer dialog, but newer vintages of PB have the call built in so the PFC calls that. Newer versions of the PFC use objects instead of structures to pass values. That's another way I know you aren't using an old PFC. Your 6.5 app however is written for the old PFC.

I recommend you get the latest build of the PFC for 10.5 from Codeplex. I think the help is in that package, if not ping me and I'll find you a link. Look at the new way to call the print setup in PFC and change your code accordingly. There are some non-PFC gotchas to look out for. Look through Terry's archive of PowerBuilder changes to see what might bite you. Off the top of my head, I think there are behavior changes for editmasks, treeviews, and DataWindow events (order they happen).

隱形的亼 2024-09-14 15:42:20

我注意到这个问题已经过时了,但加上我的 2 美分,因为你没有真正得到答案。

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

如果您仍然遇到问题,我遇到过 PB 编译器感到困惑的问题,例如自引用情况或其他复杂情况,并且它是 PITA,大多数时候发生这种情况都是设计不佳的事情,所以尝试了解发生了什么并修改代码,这不是您想听到的,但事情发生了。

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

您所描述的情况并不完全罕见,有时您必须发挥创意,尤其是在使用过时的 PFC 时。

真挚地,
富有的

I noticed this question is dated, but adding my 2cents since you didn't really get an answer.

If you are using a project object, and perform the build "deploy" from there and "full build" is specified then PB automatically compiles things in the right order, no need to put things in order unless you have duplicate object names which isn't the best idea. I guess I'd recommend checking to make sure you don't have duplicate objects in your PBL's also.

If you still run into problems I've had problems where PB compiler gets confused like self referencing situations or other complex situations and it's a PITA, most the time this happens it is something that was poorly designed anyway so try to understand what is going on and modify the code, not what you want to hear but stuff happens.

Or... as another workaround we've had trouble code that doesn't compile properly and when it fails, you find the object that won't compile (in your case the one referencing the structure) and open it with file--> open source, find code referencing the structure and if feasible comment it out and try the recompile. After everything compiles open the manually commented object and compile.

What you are describing isn't totally uncommon, sometimes you have to get creative especially when using the dated PFC.

Sincerely,
Rich

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文