我知道这是一个普遍的问题,但我想听听其他人对我们案件的看法:
我在一家小公司工作.我们的主要开发工具是PowerBuilder,这是一个非常有限的IDE,社区不断缩小.我们已经创建了一些工具,我们在内部使用这些工具来解决某些需求.它们既没有经过适当的设计也没有经过适当的测试,并且没有生产质量.OTOH,他们确实拯救了我们很长一段时间,也可以帮助别人.我敢肯定其他公司也有同样的工具,并且想知道与他人分享这些工具有多么普遍.照我看来 -
专业人士:
缺点:
您或您的公司是否曾经贡献过这样的工具,或者使用过其他人开发的工具?值得努力吗?
编辑:
对于那些多么奇怪的人,我想到的工具包括 -
对于支持Microsofts标准SCC API的Subversion客户端,您有什么建议?
到目前为止,我发现了两种可能性:
这些都不是特别引人注目 - 所以我想我会转向StackOverflow.
哪些Subversion客户端支持SCC API,适合与Sybase PowerBuilder一起使用?
开源首选,但考虑商业解决方案 - 质量/可靠性比成本(在合理范围内)更重要.
背景信息:Subversion服务器运行v1.6,其他工作已经使用TortoiseSVN和AnkhSVN作为客户端.
更新:为什么不使用TortoiseSVN并完成它?
我的部分问题是Powerbuilder工作方式的特殊性 - 应用程序的所有部分都存储在PBL("pibble")文件中.在文件系统级别使用源代码控制,您只能签入/签出整个应用程序.如果你想逐件管理事物,你必须从PowerBuilder 内部通过基于SCC的集成来完成.
更新:那些PBL文件是什么?
对于那些感兴趣的人,还有一些细节.
PowerBuilder将其代码存储在PowerBuilder库(PBL)中,而不是单独的ASCII文本文件[this]为集成增加了一层复杂性.(http://pbdj.sys-con.com/node/42500)
有没有人有任何建议将PowerBuilder 10业务应用程序迁移到.NET?
我的公司正在考虑将传统的PB应用程序迁移到.NET(C#),我只是想知道是否有人有任何经验 - 好的或坏的 - 你想分享.
该应用程序相当大,包含10个PBL库,一些PFC以及自定义框架.还有大量的DLL调用.最后,它使用Microsoft SQL Server数据库.
我们已经讨论过将"核心"应用程序代码移植到.NET,然后根据需要移植更高级的功能.
我正在为我们的传统Powerbuilder应用程序评估各种版本/源代码控制选项(现在在PB11中,将很快迁移到旧版12).到目前为止,所有具有非常有限的源代码控制的版本控制都是在内部完成的,其中代码可以由众多旅行顾问进行更改,但这些更改往往会被某些模块代码所有者推送到基础中.当公司规模很小时,这个工作流程还可以,但随着我们的成长,它变得越来越具有挑战性.这是一个非常大的应用程序.我会给你数字,只是为了了解我们所谈论的规模.最多40个PBLS,每个包含数百个对象.大约500MB的代码.在路上不断有大约100名顾问,他们中的任何一个可能会进行基础更改,然后将其转交给代码所有者.
因此,在阅读和评估各种选项后,我对分布式版本控制系统感到非常兴奋.当我发现实际上有一个由PushOk制作的代理GITSCC让Powerbuilder与GIT合作时,我更加兴奋.当我用一个小应用程序试用它时,我惊喜地发现它工作和工作相对较好,除了一些怪癖.然而有趣/令人不安的是,我无法在任何人谈论使用GITSCC与Powerbuilder的网络上找到一个帖子.甚至PushOK的GITSCC论坛只有一个帖子(非Powerbuilder特定的),直到我创建了两个.但是,一旦我使用GITSCC将我们的主要应用程序置于GIT下,我注意到更新PBL状态的主要性能问题.
所以现在有几个问题,我希望有人可以帮助我:
是否有人成功使用GIT与Powerbuilder.如果是这样,你的工作流程是什么?
当我刷新PBL状态时,我注意到有两个操作非常耗时:
日志将显示"检索文件的扩展状态信息:.每次执行一个对象,每个对象大约需要1秒.如您所知,如果我们刷新数千个对象,我们就会谈论几个小时.
偶尔,我会得到类似的行为,但消息"执行差异".同样的事情 - 每个物体大约一秒钟.永远.在工作区属性的源代码管理选项卡上,我确实关闭了"执行差异状态更新".我每次都没有这种行为,我点击PBL,但一旦开始这样做,你最好准备好长时间的午餐.任何方法来避免/改善这种行为.就像我喜欢GIT一样,这将成为一个节目.我看到有些人与其他源代码控制系统有类似的问题,所以我认为这与Powerbuilder或代理有关.我可以在pb.ini
其他地方进行调整以改善性能吗?
有没有人使用其他分布式版本控制系统?有没有办法让Mercurial与PB合作?我找不到任何代理.
最后,您认为还有另一个系统适用于我们的工作流程吗?
我尝试从PushOK获得一些答案,但到目前为止他们的支持一直没有反应.我也尝试过Powerbuilder源代码控制论坛,但是在这个群体中成员很少,我希望在SO上有更好的运气.
任何帮助是极大的赞赏!
有谁知道Sybase Powerbuilder的替代IDE?在使用VS2008和Eclipse之后,它感觉非常笨重.
如果没有,有没有人在IDE之外成功使用这种语言?我并不反对使用简单的文本编辑器,但我发现edit-import-regenerate-test-export-edit比简单地使用Powerbuilder编辑器更笨拙.
迄今为止,我唯一获得成功的工具是:
编辑:我添加了一笔赏金,以引起更广泛的关注.如果它存在,那将是一件非常好的事情.
编辑:那是令人失望的.赏金显然甚至没有让一个新人看到这个问题.
使用PowerBuilder 11.5实现的最佳版本控制系统是什么?
如果您有关于如何进行分支/主干/标记的示例,那将是非常棒的.我们试图绕过它几次并总是遇到问题,因为我们在多个应用程序中使用PFC/PFE等共享库.
现在我们只使用PBNative,它很糟糕.
我正在使用Powerbuilder应用程序中的EZTWAIN从HP扫描仪获取图像.最近我尝试了一个柯达模型(i1120),它似乎不受支持.具体而言,应用程序在扫描过程中冻结(可能问题与duplex
扫描有关).
你能推荐一个你已经使用过并且可以正常工作的库,并为TWAIN API提供一个易于使用的包装器,可以从Powerbuilder中使用吗?
string array[]
long lBound, uBound
lBound = LowerBound(array[]) // = 1, empty array value
uBound = UpperBound(array[]) // = 0, empty array value
array[1] = 'Item 1'
array[2] = 'Item 2'
array[3] = 'Item 3'
lBound = LowerBound(array[]) // = 1
uBound = UpperBound(array[]) // = 3
array[3] = '' //removing item 3
lBound = LowerBound(array[]) // = 1, still
uBound = UpperBound(array[]) // = 3, still (but array[3] is nulled?
Run Code Online (Sandbox Code Playgroud)
我认为'array [3]'这行是错误的,但我想我已经读过这应该删除数组单元格了.
删除阵列单元的正确方法是什么?它取决于对象类型吗?(String vs Number vs Object)
要么
可以操纵UpperBound值使其工作吗? …
有没有办法处理基于网格的数据窗口中单个行的下拉列表的动态更改?
例:
NAME LIKABILITY PURCHASED IN COLOUR
(Text) (DropDown*) (Text) (Text)
Bananas [Good] Hands Yellow
[Bad]
[Bananas are good]
Apples [Good] Bags Red
[Bad]
Run Code Online (Sandbox Code Playgroud)
鉴于上述情况是一种基于网格的数据窗口,其中字段NAME
,PURCHASED IN
并且COLOUR
是文本字段,其中的LIKABILITY
字段是一个下拉*.
我说dropdown*因为可以通过使用DropDownList(在设计时在datawindow元素内硬编码)或DropDownDW(或DDDW,可以基于数据窗口中的其他元素的select语句)来创建相同的可视化表示.
但是,我无法获得Bananas
3次下拉菜单,而苹果只有2次.
如果我输入多行Bananas
,则所有行都有3个下拉列表,但只要我添加一个Apples行,所有下拉列表都会恢复为2个选择.
为了尝试实现此功能,我尝试了以下选项:
dw_1.Object.likability.values("Good~tG/Bad~tB/Bananas are good~tDRWHO")
在编辑NAME时在ue_itemchange上.
失败:编辑所有LIKABILITY实例而不是当前行.
重复下拉列表,每行有一个已过滤的,一个未过滤的选择列表,基于NAME选择可见.
失败:无法在基于网格的数据窗口上设置可见性/重叠列.(资源)
硬编码显示值为数据库值,或反之亦然.有GOOD
,BAD
,BANANASAREGOOD
作为显示和数据库值,和从G,B,DRWHO到这些新的值选项改变处理.
FAILS:所有行都显示第3个选项,仍可在Apple行上选择,这是错误的.
DDDW检索下拉列表的选项列表.创建一个使用NAME值的DDDW来确定它应该为下拉列表选择哪些选项.
FAILS:编辑下拉列表的所有实例,而不仅仅是当前行.
DDDW检索可用选项的计数器(如果B然后3其他2),则具有基于DDDW计数器保护/解除保护的重复下拉列.
失败:无法自动选择dddw值来填充列以引起其他两列的保护,无论如何都是丑陋的解决方案.
对于任何能够为我提供解决方案的人来说,这个问题现在有一个赏金,这个解决方案可以让我在PB 10.5中基于网格的数据窗口编辑单行的下拉列
我有一个网格数据窗口,背景中有一张图片(A4页面的尺寸),我想将数据和图片导出为(单页)PDF文件.我使用了以下命令的几种组合,但最多我得到了一个0大小的pdf.
//dw_1.Modify("Datawindow.Export.PDF.Method = Distill! ")
//dw_1.Modify("DataWindow.Export.PDF.Method = XSLFOP! ")
dw_1.Object.DataWindow.Export.PDF.Method = Distill!
//dw_1.Object.DataWindow.Printer = "\\prntsrvr\pr-6"
dw_1.Object.DataWindow.Export.PDF.Distill.CustomPostScript="No"
dw_1.SaveAs("c:\dw_one.pdf", PDF!, false)
Run Code Online (Sandbox Code Playgroud)
用户指南(第533页)说:
… the data is printed to a PostScript file and automatically distilled to PDF using GNU Ghostscript…
Installing Ghostscript
For licensing reasons, Ghostscript is not installed with PowerBuilder. You (and your users) must download and install it before you can use this technique…
有谁知道程序是什么?
编辑 谢谢你们.安装ghostscript证明是足够的.我只是不明白为什么程序在一些人的PC上使用(使用Method = XSLFOP!)而不使用ghostscript: - /
powerbuilder ×10
datawindow ×2
.net ×1
c# ×1
git ×1
ide ×1
migration ×1
msscc ×1
open-source ×1
pdf ×1
svn ×1
upperbound ×1
webcam ×1