编译PowerBuilder应用程序v12.1 Build 6518和OLE对象

时间:2012-05-03 10:41:24

标签: svn tortoisesvn ole powerbuilder

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

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

OLE控件已在所有开发工作站上注册(通过[Regsvr32 AgentLink.dll])。 Windows引用此DLL的控件, 实际上,要检查,您可以通过在任何窗口上插入控件来重新创建它,它存在于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在.srw的{​​{1}}个文件中正确重新传输此二进制文件。

通过利弊,在应用程序不起作用的计算机上,窗口的导出生成一个。 Srw具有完全不同的二进制部分。 如果我们将此二进制部分替换为 SVN WorkingCopy WorkingCopy文件中存在的二进制部分,我们会在库中重新导入此修改后的文件(在 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点)编译后不再有效(每次在另一台计算机上生成更改并通过 SVN 检索)。 据我们所知,在 14:30 16:00 之间的窗口中没有发生任何更改或更新。

欢迎任何帮助。

1 个答案:

答案 0 :(得分:0)

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

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