【问题标题】:PowerBuilder IDE Customization for SCCSCC 的 PowerBuilder IDE 定制
【发布时间】:2010-04-01 19:17:10
【问题描述】:

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

情况是,当您从窗口绘制器中右键单击数据窗口对象时,您会得到一个上下文菜单,其中包含“脚本”和“属性”以及“修改数据窗口...”等选项。我们想为“Check-out...”添加一个,以避免在多个 PBL 中寻找数据窗口。

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

【问题讨论】:

  • 听起来是个好主意,但我无法想象你会怎么做。 IDE 并不真正支持插件 AFAIK

标签: version-control powerbuilder


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    我认为您遇到了很多人遇到的问题,该问题直接通过 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(用于快速查找)并开始输入对象的名称(如果您暂停,它将找到与您输入的内容部分匹配的内容)
    • 按一次 [Enter] 以接受 QuickFind 的选择
    • 再次按 [Enter] 以展开对象
    • 找到有问题的DataWindow控件和RMB
    • 选择“转到默认数据窗口”
    • 如果微帮助中没有显示库和名称(我发布版本已经很长时间了,我无法跟踪已发布版本中的内容),请找到向上工具栏项去PBL

    我知道这并不能实现结帐,但它确实“避免了在多个 PBL 中寻找数据窗口”。而且,您可能会比我的第一个建议更快地实现这一目标。

    祝你好运,

    特里

    【讨论】:

    • 我之前没有使用过 PBL Peeper。感谢提供这么好的工具!
    • 禁用未检查的对象的警告是我在选项可用时做的第一件事。
    【解决方案3】:

    我这样做的方法是右键单击并选择修改数据窗口。当画家打开时,您可以从画家的标题中读取 PBL。然后关闭 DataWindow Painter,这样 PB 就会让您检查 DataWindow。对于定位任意用户对象的更一般情况,请使用 Terry 的 PBL Peeper 方法。

    【讨论】:

    • 这是我们目前的做法。好像步骤太多了。右键单击时出现“签出..”不是很好吗?
    【解决方案4】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-21
      • 2010-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多