适用于SCC的PowerBuilder IDE自定义

时间:2010-03-25 17:00:09

标签: version-control powerbuilder

我们的PowerBuilder应用程序非常庞大,并且在几个PBL中有许多对象用于组织我们的代码。我们通常在一个窗口上有10个或更多数据窗口,这些数据窗口可能分布在两个或三个PBL上。对于版本控制,我们使用独占签出来避免合并冲突。

情况是,当您从Window painter右键单击datawindow对象时,您将获得一个上下文菜单,其中包含“脚本”,“属性”和“修改数据窗口...”等选项。我们想为“Check-out ...”添加一个,以避免在几个PBL中搜索数据窗口。

任何关于如何做到这一点或类似事情的想法都将不胜感激。

4 个答案:

答案 0 :(得分:2)

我认为您可以做的最好的事情是在库列表顶部创建一个临时库,通过“修改数据窗口...”跳转到它们,找到您的数据窗口,然后将它们保存到临时库中,最后使用源代码管理系统中的工具按名称定位并锁定它们。

我使用的另一个技巧是取消选中清除.srd等文件的源控件选项中的复选框,然后使用操作系统的查找工具搜索文件名(因为Powerbuilder仍然没有)支持按名称搜索对象...)。当然,如果你没有很多对象,并且你的对象没有很多引用,你总是可以使用Powerbuilder的搜索...但你知道谁在那个幸运的位置?!!

答案 1 :(得分:1)

我认为你遇到了许多人遇到的问题,这个问题直接通过PB中的漏洞运行,让你开始编辑DataWindow而不会警告你检查它。不幸的是,据我所知,没有办法挂钩上下文菜单。

但是,您可以挂钩工具栏项。如果那是我想要的方式,而且我有足够的时间,我会写一个应用程序,我将从工具栏启动,这就是它会做的:

  • 使用API​​查找PowerBuilder窗口
  • 在PB
  • 中查找当前工作表
  • 从标题中获取对象名称
  • 获取当前应用程序(注册表或PB.INI,具体取决于PB的版本,可能涉及首先获取工作区,然后是当前目标)
  • 获取库列表(PB.INI或目标文件)
  • 对打开的对象执行LibraryExport()
  • 查找所有DataWindow控件(这可能涉及查看祖先以确定控件类型)
  • 识别这些控件的数据对象(同样,您可能需要查看祖先)
  • 使用LibraryDirectory()获取所有PBL中所有对象的列表
  • 查找数据对象的“PBL”
  • 抛出一个列出数据对象及其PBL的窗口

OTOH,如果我有PBL Peeper(是的,这是有偏见的建议),我会

  • 在桌面上启动“PBL Peeper(浏览当前应用程序)”图标(好的,这是谎言;我已经打开了PBL Peeper,只会切换到“浏览”页面)
  • Ctrl-Q(对于QuickFind)并开始输入对象的名称(如果你暂停,它会找到你输入内容的部分匹配)
  • 按[Enter]一次以接受QuickFind的选择
  • 再次按[Enter]以展开对象
  • 查找有问题的DataWindow控件及其上的RMB
  • 选择“转到默认DataWindow”
  • 如果它没有在microhelp中显示库和名称(自我发布版本以来已经很长时间了,而且我无法跟踪发布版本中的内容),请找到Up工具栏项进入PBL

我知道这不会实现结账,但确实“避免在几个PBL中寻找数据窗口”。并且,你可能比我的第一个建议更快地达到这个目的。

祝你好运,

特里

答案 2 :(得分:1)

我这样做的方法是右键单击并选择Modify DataWindow。当画家打开时,您可以从画家的标题中读取PBL。然后关闭DataWindow画家,这样PB就可以让你看看DataWindow。有关定位任意用户对象的更一般情况,请使用Terry的PBL Peeper方法。

答案 3 :(得分:0)

您可以将用于开发的PBL组织与用于部署的PBL分开。

只要PBL名称之间的两个视图没有冲突就进入源代码。在源代码管理中注册的PBG文件不会互相破坏。

缺点是添加或删除新对象时,您需要更新这两个位置。

我只创建一个包含所有相关对象的数据窗口PBL并将它们放在同一个目标中。当我使用该子系统或报告时,我可以检查同一个库中的所有对象。