0

编译PowerBuilder应用程序v12.1 Build 6518时出现问题

一些开发人员正在使用SVN(客户端CollabNet V1.6.16-1TortoiseSVN V1.6.15 PBSCCProxy 02/01/78)开发此应用程序。此应用程序包含一个包含“ OLE 控件”的窗口。当前版本的 OLE 控件在此窗口中存在 6 个月(迁移后),并且通常调用此控件的函数来启动应用程序。

OLE 控件在所有开发工作站上注册(通过[Regsvr32 AgentLink.dll])。此 DLL 的控件由 Windows 引用,确实,要检查,您可以通过在任何窗口上插入控件来重新创建它,它存在于 PB 建议的列表中(尽管它在通过控制取消订阅后从列表中消失并在之后[Regsvr32 / u AgentLink.dll] 重新出现一切都结束了[Regsvr32 AgentLink.dll]

在工作站(Windows 7 Pro 32 位 SP1)上,此应用程序在 PB 中的执行和可执行文件正常工作。在另一个扩展(Windows 7 Pro 32 位 SP1也是)上,恢复源更新后,在 PB 中执行并由独立生成的可执行文件生成以下错误消息:

PowerBuilder Application Execution Error (R0039)
Application terminated.
Error: Error Accessing external object property agentproxy at line 88 in open event of object w_hermes_toolbar.

该错误发生在第一次调用 OLE 对象的函数时。

经过研究,放置在一个窗口上的一个OLE对象在这个窗口的导出文件的末尾生成了一个二进制段

[Start of PowerBuilder Binary Data Section: Do NOT Edit]

(此二进制部分在“编辑源”期间不可见)SVN.srwWorkingCopy.

不利的是,在应用程序不起作用的计算机上,窗口的导出会生成一个。Srw 具有完全不同的二进制部分。如果我们替换这个被SVN WorkingCopy.srw文件中存在的二进制部分损坏的二进制部分,然后我们将这个修改后的文件重新导入库中(在CheckOut之后),那么应用程序会再次正常工作。

此二进制部分在某些项目上被PBSCCProxy(WorkingCopy 的版本包含正确的二进制部分)或PowerBuilder损坏。Regenerate 和 FullBuild 没有改变任何东西。该问题在独立执行或 PB 中是相同的。开发计算机在 windows、PB 和 SVN 版本中是相同的。 PBSCCProxy 版本(2.1.78)也相同,出现问题后更新为2.1.80版本(获取此版本中实现的日志PBSCC

问题“突然”出现。该应用程序和生成的可执行文件在14.30 (2.30pm)的编译中完美运行,并且在16.00 (4.00pm)编译后不再工作(每次更改都在另一台计算机上生成并通过SVN检索)。据我们所知,在14:3016:00之间的窗口中没有发生任何更改或更新。

欢迎任何帮助。

4

1 回答 1

0

此部分将表示来自上次编辑对象/窗口的工作站的 OLE 控件的二进制版本。

确保所有开发工作站(包括任何专用构建机器)都安装并注册了当前正确版本的 OLE 控件。

于 2012-05-03T18:23:52.160 回答