问题标签 [powerbuilder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
19632 浏览

c# - 将 PowerBuilder 应用程序移植到 .NET

有人对将 PowerBuilder 10 业务应用程序迁移到 .NET 有什么建议吗?

我的公司正在考虑将遗留的 PB 应用程序迁移到 .NET (C#),我只是想知道是否有人有任何经验——好的或坏的——你想分享。

该应用程序相当大,有 10 个 PBL 库、一些 PFC 以及自定义框架。还有大量的 DLL 调用。最后,它使用 Microsoft SQL Server 数据库。

我们已经讨论了将“核心”应用程序代码移植到 .NET,然后根据需要移植更高级的功能。

0 投票
1 回答
3452 浏览

vbscript - 如何在 Powerdesigner 中使用 VBScript?

在 Powerdesign 中想创建一个 VBscript 来重命名/修改 powerdesigner 中的以下名称-概念或物理模型

替代/唯一键名:

UQ {table_name} {tablecolumnname} /////// 示例= UQ_Account_AccountNumber

关系名称:

FK_{table_name}_{reference_table_name}_{reference_column_name} //////示例= FK_Account_AccountPhone_HomePhoneID

问题是,如何获得“table_column_name”和“reference_column_name”?

0 投票
3 回答
2540 浏览

c# - PowerBuilder 中的 .NET 互操作

我正在寻找一种在 PB 对象和 .NET (C#) 对象之间进行双向通信的方法。在查看 Brad 的 GUI 控件的 .NET 版本时,我看到了如何为 .NET 对象提供对 PB 对象的引用。但在该示例中,它被转换为 PowerObject(基本上)。该 C# 代码仅在 PB 对象上调用 TriggerEvent()。

我想在 C# 中创建一个名为 foo1 的自定义类。我想在 foo1 上创建一个名为 bar1() 的方法。

我想在 PB 中创建一个名为 foo2 的自定义类。我想在 foo2 上创建一个名为 bar2() 的方法。

我希望能够在 foo2 中创建 foo1 的实例。我希望能够从 foo2 中调用 foo1.bar1()。

(直到这里我都很好。)

我希望能够从 foo1 中引用 foo2。我希望能够从 foo1 中调用 foo2.bar2()。

0 投票
1 回答
4079 浏览

powerbuilder - Powerbuilder 不同窗口中的相同功能

我有两个窗口,可以说 w_base1 和 w_base2。现在在 w_base1 我写了下面的语句,它工作正常。

ls_Value = This.GetItemString(ll_CurrRow, "af_value")

现在我想在 w_base2 中使用相同的上述语句,但它给出了以下错误:

Powerbuilder 应用程序执行错误 (R0002) 应用程序终止。错误:对象 w_base2 的 abcd 事件中第 230 行的空对象引用。

当它终止应用程序时,它直接进入上述语句,即

ls_Value = This.GetItemString(ll_CurrRow, "af_value")

我相信问题出在 af_value 上,我无法看到它实际获取的内容,但根据上述错误,它正在与 Null 相关。谁能尽快帮我解决这个问题。

0 投票
2 回答
6364 浏览

c# - .NET 等效于使用加密 api 的本机代码

我有使用 Crypto API 来加密字符串的本机代码(Powerbuilder)。我需要 C# 代码来解密加密的数据。有人可以给我一个提示或样本吗?

谢谢,雅普

0 投票
7 回答
1208 浏览

open-source - 为开源贡献内部工具值得付出努力吗?

我知道这是一个普遍的问题,但我想听听其他人对我们案件的看法:

我在一家小公司工作。我们的主要开发工具是 PowerBuilder,这是一个非常有限的 IDE,社区正在缩小。我们创建了一些工具,我们在内部使用这些工具来解决某些需求。它们既没有经过适当的设计,也没有经过适当的测试,也没有达到生产质量。OTOH,它们确实为我们节省了很多时间,也可能帮助其他人。我确信其他公司也有相同类型的工具,并且想知道与他人共享它们的做法有多普遍。照我看来 -

优点:

  • 善业
  • 更多关注我们的网站
  • 也许从其他人那里得到修复和改进

缺点:

  • 如果不投资更多的开发,这些工具可能会让我们看起来很糟糕
  • 代码的发布需要一些努力
  • 有些工具可能过于专业,无法满足我们的需求
  • 考虑到社区的萎缩,整个努力可能会被忽视

您或您的公司是否曾经贡献过此类工具,或使用过其他人开发的此类工具?值得付出努力吗?

编辑:

对于那些想知道的人,我想到的工具包括 -

  • 通过列出已签出给当前用户或其他人的对象、备份已签出的对象和重建 PBG,使使用 SourceSafe 变得更容易的工具。
  • 一种在运行时识别 PB 控件的工具,例如 Spy++(需要目标应用程序中的一些基础设施)。
  • SQLite 的 PBNI 包装器(进程内访问,无 ODBC)。
  • SQL 客户端、文本测量工具等。
0 投票
2 回答
1889 浏览

introspection - 用于 PowerBuilder 应用程序的 Spy++

我正在尝试编写一个工具来检查基于 PowerBuilder 的应用程序的状态。我在想的是像 Spy++(或者,更好的是,'Snoop',因为它存在于 .NET 应用程序)之类的东西,它可以让我检查一些基于 PowerBuilder 的 GUI 的对象树(和对象的属性)。

我已经对普通(基于 MFC)的应用程序和 .NET 应用程序做了同样的事情,但不幸的是我自己从未在 PowerBuilder 中开发过应用程序,所以我现在通常在考虑两个问题:

  1. 是否有一些 API(最好是 Java 或 C/C++)可以让人们遍历 PowerBuilder 应用程序的可视对象树?我在 PowerBuilder Native Interface system 上阅读了一些内容,但似乎这意味着用 C/C++ 编写 PowerBuilder 扩展,然后可以从 PowerBuilder 脚本语言调用,对吧?

  2. 如果有一些可用的 API - 也许 PowerBuilder 应用程序甚至会公开某种支持 IPC 的 API,它可以让我检查 PowerBuilder 对象层次结构的状态,而无需处于 PowerBuilder 应用程序的进程中?也许有可用的自动化接口,或者基于 COM 的东西——或者其他东西?

现在,我的印象是可能需要在 PowerBuilder 应用程序的进程中注入一个 DLL,然后获得对正在运行的 PowerBuilder VM 的访问权限,以便我可以查询它以获取对象树。某种 IPC 机制将让我将这些信息传输到 PowerBuilder 应用程序的进程之外。

有没有人有这方面的经验,或者可以阐明是否有人已经尝试过这样做?

最好的祝福,

  • 弗里里希
0 投票
3 回答
806 浏览

powerbuilder - 自动加载 PowerBuilder 扩展

有谁知道是否可以让给定的 PowerBuilder 应用程序(我通常没有源代码)加载我提供的自定义扩展(非可视化扩展)?

我知道我可以将我的 .pbd 添加到 PowerBuilder 中 PowerScript 目标的库列表中,但是当给定一个完整的基于 PowerBuilder 的 GUI 时,也许有一些配置文件我可以手动编辑,指定我的额外 .pbd 的路径,以便在应用程序启动时加载它?

0 投票
3 回答
1459 浏览

data-binding - 在 Power Builder 中的另一个窗口中更改时关闭当前打开的窗口

我目前正在使用 powerbuilder 6.5 在我的应用程序中,我想编写一个代码,其中一个窗口中的任何更改都应该反映另一个窗口。两个窗口正在使用同一个表。如果我们在一个窗口中更改,如果另一个窗口较早打开,它不会反映在另一个窗口中。我能做些什么?

0 投票
11 回答
10858 浏览

version-control - PowerBuilder 11.5 和版本控制

使用 PowerBuilder 11.5 实现的最佳版本控制系统是什么?

如果您有示例说明如何进行分支/主干/标签,那就太棒了。我们已经尝试过几次,但总是遇到问题,因为我们在多个应用程序中使用了 PFC/PFE 等共享库。

现在我们只使用 PBNative,这很糟糕。