问题标签 [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 投票
2 回答
1321 浏览

.net - 如何从 .Net 调用 Pb 生成的本机 Win32 dll?还是来自其他地方?

我一直在尝试链接到 Pb (11.5) 生成的本机 Win32 dll:来自不同的 Pb 应用程序和 .net (2.0) 应用程序。我知道注册的 COM 对象对 Pb 是可见的。我想要做的是在本机 Win32 dll 中使用 Pb(运行 11.5 Enterprise)调用函数——而不是 COM。我还想换一种方式:我想要一个 Win32 exe(本机和 .net)调用 Pb 生成的 dll 中的函数。我的成功有限。

场景一:pb 生成原生 Win32 exe & dll。

我创建了一个简单的应用程序,其中包括单独的 pbl(称为 shared.pbl)和一些琐碎的函数(包括返回字符串 HelloWorld 的函数)。该项目构建为一个 exe 和一个单独的 dll。它可以工作(单击按钮会在标签中显示文本 HelloWorld)。

在一个单独的Pb 工作区中,我创建了一个几乎相同的应用程序,但没有shared.pbl。我声明了一个外部函数来引用第一个工作区中的 shared.dll:

运行应用程序——单击绑定到 GetSystemMetrics() 的按钮有效。单击第二个按钮以访问 shared.dll 失败,并显示“调用外部函数时出错 ...”消息。

我能够让第二个应用程序工作的唯一方法是在目标属性的库列表选项卡下添加shared.dll。 然而,这似乎导致 dll 的内容嵌入到生成的 exe 中——我可以删除 shared.dll 并且第二个应用程序运行得很好!

如何在 Pb 中引用外部 Win32 dll,而无需将 dll 嵌入生成的 Pb 代码中? 请记住,shared.dll 是由 Pb 在单独的工作区中生成的。

场景二:.Net exe 访问 Pb 生成的 dll

接下来,我创建了一个简单的 .net 应用程序(.net v2.0,vs2005),它具有与 Pb 应用程序并行的功能。我引用shared.dll:

并尝试调用 HelloWorld 函数,我得到 .net 错误:

使用编辑器/反汇编器,我发现函数名称已被修改为“_getVtableInfo_f_get_hello_world@12”。我在声明上尝试了不同的命名变体,并在没有运气的情况下调用。

是否可以从另一种语言(c++、c#)引用由 Pb 创建的本机 Win32 dll?如果是这样,怎么做?

0 投票
2 回答
2403 浏览

file - 检查文件是否从另一个进程打开

如何检查文件是否已被 Powerscript 中的另一个进程使用?

0 投票
3 回答
5871 浏览

powerbuilder - Powerbuilder - SQLNRows is 0 after Datawindow update

The first time I call Update on my DataWindow it returns 1 (success) and SQLCA.SQLNRows is 1. When I do a second update on the same screen without closing it in between, Update returns 1 and SQLCA.SQLNRows is 0. Any suggestions why this is happening?

0 投票
4 回答
6553 浏览

powerbuilder - 部署 PowerBuilder 应用程序

我正在尝试将 PowerBuilder 9 IDE 附带的示例项目部署到 .exe 文件。

  1. 完整构建 - 成功通过。
  2. 部署 - 失败并出现以下错误:

    “当前库列表与此项目中包含的库列表不同。项目库列表已更新。为更新的列表指定构建选项,然后重试。”

我该如何克服呢?

提前致谢

0 投票
2 回答
1860 浏览

regex - 寻找正则表达式扩展

我正在寻找一个可以在我们的应用程序中使用的正则表达式库,它是用 PowerBuilder 编写的(PB 有一些 RegEx 功能,但它对我的需求来说太有限了)。要求的特征是:

  • 接口:COM 或导出的函数(不能使用导出的类)
  • 统一码
  • 自由
  • 生产就绪

有什么建议我在哪里可以找到这样的工具?

谢谢,伊兰

0 投票
5 回答
5975 浏览

powerbuilder - PowerBuilder (PBOrca) 自动构建

我每天晚上都在运行我们的 PowerBuilder 应用程序的工作自动化构建过程。我用来设置的资源是http://dm.char.com.ua/pb/pborca.htm。我不清楚 PBOrca 是官方支持的工具还是由谁负责(是运行链接站点的绅士吗?)。我从那个链接下载了它,但我相信可能会有更新的版本。我从哪里得到这个?我用谷歌搜索无济于事,并在 sybase.com 上找到了有关使用的文档,但没有实际下载。

我正在寻找新版本的原因是 PB11.5 中支持的新样式控件在自动构建中不可用,但在开发中可以正常工作,因此当我们部署构建时,它使用一种 Windows 经典主题。我在其他人的 orca 脚本中找到了对在线传递 NEWVSTYLECONTROLS 的引用,但是当我尝试它时它抱怨参数数量错误,并且我查看的示例具有不同的参数列表。

谢谢你的时间。

艾伦

0 投票
3 回答
10052 浏览

odbc - 用户 DSN 和系统 DSN - 如何选择系统?

场景:我们的安装包用于添加用户 DSN。由于终端服务器和 Citrix,我们将其更改为安装系统 DSN。

问题是这些旧的用户 DSN 中的一些是浮动的,我们的应用程序会在系统之前自动选择用户,并且随着我们升级服务器软件而连接信息发生了变化。

我想我的问题是,如果存在重复项,是否有办法强制应用程序在用户 DSN 上使用系统 DSN?

我们的应用程序是用 PowerBuilder 10.5 编写的,我们使用 SQL Anywhere 10.0.1。

谢谢,卡尔文

0 投票
8 回答
11606 浏览

java - 适用于 Java 程序员的 PowerBuilder?

我的一个朋友在他的公司使用一个用 PowerBuilder 编写的ERP软件。不幸的是,(唯一的)开发人员即将退休。我的朋友非常喜欢这个软件,并且想继续使用它至少十年,所以我的朋友决定购买源代码。

他想创业来维护软件和开发新功能。目前,该软件可能有大约 50 个安装在野外,他已经认识了一群潜在的买家。

现在他正在寻找一名开发人员并问我...我做了一点 C/C++ 编程、一点 VB 和一堆其他语言,但在过去的几年里,我通过编写 Java Web 应用程序来赚钱。根据我的阅读,PowerBuilder 对我来说看起来很陈旧,几乎没有任何教程,没有开源框架,笨拙的版本控制,甚至没有阅读任何测试框架。StackOverflow 上的人们说他们希望语言/IDE 已经死了。此外,我维护的代码完全没有记录和测试。

您认为对于以前从未听说过 PowerBuilder 的人来说,维护这样的软件是可能的吗?

编辑:好的,谢谢你的回答。我们决定彻底淘汰旧的应用程序并用最新的语言重新编写它。

0 投票
8 回答
11029 浏览

ide - Sybase Powerbuilder 的替代 IDE

有谁知道 Sybase Powerbuilder 的替代 IDE?在使用 VS2008 和 Eclipse 之后,感觉很笨拙。

如果没有,是否有人在 IDE 之外成功使用过这种语言?我并不反对使用简单的文本编辑器,但我发现 edit-import-regenerate-test-export-edit 比简单地使用 Powerbuilder 编辑器更笨拙。

迄今为止,我使用过的唯一工具是:

  • PowerGen,用于构建(使用 NUnit 和 CruiseControl.NET)
  • ConTEXT,为 Powerbuilder 提供语法高亮显示
  • PBL Peeper,它具有一些 IDE 中不存在的有趣功能

编辑:我添加了一个赏金来引起对这个问题的更广泛的关注。如果它存在,那将是一件非常好的事情。

编辑:那很令人失望。赏金显然没有让 1 个新人看到这个问题。

0 投票
1 回答
3148 浏览

formatting - PowerBuilder:国际货币格式

背景

美国的用户是我们应用程序的初始用户群,但已经扩展到加拿大、英国和斯堪的纳维亚用户也使用该系统的地步。

PowerBuilder 数据窗口不喜欢带有小数和句点转置的斯堪的纳维亚货币格式 (###.###,00)。当我们尝试在数据窗口中设置格式时,它抱怨说格式无效。

我们不可能是唯一遇到这个问题的人,但我在 Internet 上的常规搜索中并没有看到很多关于这个主题的内容。

我们目前的解决方法

目前,其中一位开发人员找到了一种解决方法,让登录脚本更改 Windows 操作系统上会话的货币格式,并将“[货币]”放在数据窗口字段的格式属性中以获取操作系统的格式。

这似乎可行,但出于多种原因,我认为这不是最佳解决方案。

  1. 它要求我们的斯堪的纳维亚用户通过与其他用户不同的图标运行应用程序。我不必详细说明使用两个不同的图标登录应用程序有多糟糕,以及让每个图标启动不同格式脚本的维护麻烦。
  2. 它只解决了用户会话中单一货币的货币格式问题。随着我们的应用程序变得更加国际化,我们可能需要能够在同一份报告中显示多种货币。

一定会有更好的办法

我相当肯定有人会告诉我我需要阅读 Spolsky 的 unicode 文章。但除此之外,我对更简洁的 PowerBuilder 解决方案的细节感兴趣,如果有人有的话。提前致谢。