pb11新特性及增强内容(精)

合集下载

PowerBuilder 10.5 11新功能概述(PDF)

PowerBuilder 10.5 11新功能概述(PDF)
AutoPostBack
PowerBuilder Web Forms
提高性能的使用建议
尽量使用只读的 DataWindows 使用Master-detail DataWindow
Master DataWindow is readonly Script callback
尽量不使用 Timer事件 尽量不使用 Yield 方法 不要同时打开很多 response windows 使用 Web style
PowerBuilder 10.5/11 新功能概述
Harry Zhang Senior Software Engineer, Sybase Asia Development Center.
议程
PowerBuilder 10.5新功能 PowerBuilder 11.0新功能 展望PowerBuilder的发展 Q&A
支持
Sybase ASE Oracle MS SQL Server
DBI 重构
DBI(Database Interface)->DSI(DataSource Interface)
WEBSERVICES增强
进一步增强了 Web Services 支持
更好的数据类型支持(Document/Literal/…) 进一步提高了和 WebService的交互性
不常做的工作 可能完成
通过PB与.NET的互操作性来完成
PowerBuilder for .NET概述
使用PowerBuilder 开发 .NET应用程序
编译PowerBuilder代码成为.NET assemblies 全新的.NET系统运行时库 (Managed PB Runtime)
基于.NET API,使用C#和Managed C++重新实现了PB .NET运行 时库 增强语言特性, 系统类和系统函数 应用程序类型支持

为什么升级到PowerBuilder 11

为什么升级到PowerBuilder 11

新的Target类型PowerBuilder 11.1引入了一些新的Target类型。

包括:• Application (传统的PowerScript应用target)• .NET Windows Forms Application• .NET Web Forms Application• .NET Web Service• .NET Assembly• EAServer Component• Application Server Component• Java Server Pages (与先前PowerBuilder版本相同)每一种Target类型需要创建一个Project,用于发布、运行或者调试这个Target应用或组件。

对于组件Target,可以指定用于开发环境测试的应用程序。

.NET Web Forms开发使用PowerBuilder 11,我们可以将PowerBuilder应用发布为在浏览其中运行的 2.0应用程序。

要实现此功能,首先使用.NET Web Forms Application Wizard创建一个.NET Web Forms工程(Project),然后使用.NET Web Forms Project画板发布这个应用。

要测试Web应用,在System Tree 窗口中右键单击相应的工程(Project),然后在上下文菜单中选择Run Project 菜单项。

最终用户将通过一个浏览器的连接访问发布好的应用。

如果我们的应用程序是一个MDI应用,当我们打开多个sheet窗口,这些sheet窗口将分别作为不同的标签页显示。

大部分的PowerBuilder特性,在Web Forms应用中将继续支持,其中包括潜入式SQL、文件处理、数据窗口打印,以及调用外部函数。

一些不适合Web开发的特性,将不再支持,比如拖拽功能。

当开发应用时,PowerBuilder 会在Output窗口报告所有不支持的特性。

PB8到PB11.5功能改进

PB8到PB11.5功能改进

PB8到PB11.5功能改进1PB9功能改进(生命周期至2006.12.09)1.1PB9.0功能改进1.1.1DataWindow XML supportDataStore、DataWindow导入、导出为XML1.1.2PowerBuilder Document Object ModelPBDOM编程接口1.1.3PowerBuilder Native Interface1.1.4JSP targets1.1.5Web services for JSP clients1.1.6Web services for Windows clients1.1.7EJB clients for third-party application servers1.1.8XML and CSV import and saveDataWindow、Graph object导入、导出为XML、CSV1.1.9Saving as PDF and XSL-FODataWindow数据导出为PDF、XSL-FO1.1.10The OrcaScript languagePB批处理脚本语言,通过命令行工具OrcaScr9执行1.1.11PowerBuilder Runtime PackagerPB运行时发布工具,可以将PB运行时制作为独立安装包1.1.12PowerBuilder Resource Monitor1.1.13Source control enhancements1.1.14DataWindow enhancements新属性:DataWindow.Print.ClipText 、DataWindow.Print.OverridePrintJob、DataWindow.Print.PrinterName属性增强属性:DataWindow.Print.Collate、DataWindow.Print.Copies1.1.15PowerScript enhancementsEnvironment对象新属性:PBBuildNumber新系统函数:AddToLibraryList、XMLParseFile、XMLParseString增强系统函数:GetFileOpenName、GetFileSaveName,增加参数initdir(初始路径)、aFlag(对话框标志)新数据类型及其相关函数:LongLong(64位整形)1.1.16Debugger enhancements1.1.17Database connectivity enhancements支持Oracle9i中的连接池和NCHAR、NVARCHAR2、LOB数据类型,支持Unicode数据库1.1.18Miscellaneous enhancements1.2.1User interface enhancements for XP look and feelXP风格用户界面1.2.2PBNI support for Any variables and valuesPBNI支持Any型变量1.2.3PBX_DrawVisualObject function for PBNI visual objectsPBNI可视对象新增函数PBX_DrawVisualObject1.2.4PBNI source files in public directory1.2.5SetProxyServerOptions function for SOAP Web servicesSoapConnection对象函数SetProxyServerOptions1.2.6Heap manager included in pbvm90.dlllibjsybheap.dll中的函数被移到pbvm90.dll中1.2.7Hiding the JSP Page view1.2.8New menu options in the SQL Select and Query paintersSQL Select和Query画笔中的Where和Having视图增加了两个快捷菜单项:Insert Clause 和Delete Clause1.2.9New Excel format for saving data数据窗口数据导出支持Microsoft Excel 97格式1.2.10New DBParm: PBNewSPInvocation新增DBParm参数PBNewSPInvocation1.2.11Additional changesChanged behavior of Extend Ancestor Script menu itemInherited controls and menus cannot be copiedUsing masks with "as is" charactersFormat of WMF files saved from DataWindows changedMTS/COM+ components must be redeployed1.3.1Support for Windows 2003 Server支持Windows 2003 Server作为开发环境1.3.2PBNI result set accessor functionsPBNI中增加了DataWindow和DataStore结果集访问函数CreateResultSet,、GetResultSetAccessor、ReleaseResultSetAccessor1.3.3Environment variables1.3.4TimeStamp database parameter1.3.5PWExpDialog database parameter1.3.6DefaultProcOwner database parameter1.3.7Properties for custom printer page数据窗口新增属性Print.Paper.Size、Print.CustomPage.Length、Print.Custom.Page.Width 1.3.8Context menus for PBD files1.4.1PasteLowercase PB.INI option1.4.2Exporting and importing XML with CDATA sections 1.4.3Changes in the Release database parameter1.4.4OJSyntax parameter now available for SYC1.4.5Configuring Java VM initialization2PB10功能改进(生命周期至2007.07.05)2.1PB10.0功能改进2.1.1PowerDesigner plug-inPowerBuilder中的PowerDesigner插件2.1.2XML Web DataWindow2.1.3DataWindow .NET在支持.NET Framework的开发环境中使用数据窗口和数据存储2.1.4Unicode supportPB10使用Unicode编码2.1.5New controls增加了Animation(动画)控件和MonthCalendar(月历)控件2.1.6UDDI support for Web services可以在PowerBuilder和JSP Web Service Proxy向导中使用UDDI浏览器选择一个Web service,也可以使用UDDI PBNI扩展像应用程序中添加UDDI浏览器2.1.7EAServer components as Web services可以将EAServer组件作为Web service2.1.8SOAP processing methods for Web servicesWeb services提供一些用于各种平台和框架下不同组件之间互动的方法。

pb11新特性及增强内容

pb11新特性及增强内容

记忆Retrieval Arguments
仅在设计时有效 Composite样式的DW无效 新建的DW必须保存,退出再打开后才有效。
Powerbuilder11.0的其他增强内容
窗口控件的增强
增加了打开和关闭窗口的动画效果 增加了窗口透明度的属性
系统函数的增强
GetByteArray实现blob数据转化为byte数组。 Blob函数支持byte数组作为参数。 各种Trim函数增加第二个参数,可以去除任何空 白的符号,包括回车换行和TAB等。 SetFilter函数增加\s选项,对字符串的比较使用 Ascii模式,不加选项使用的是字典模式。例 如:”#2 >= 'a' and #2 < 'c' \s”
.NET Web Forms转化
1.新建.NET Web Forms Target
.NET Web Forms转化
选择转化的来源
Start from scratch(从空白开始) Use an Existing library and app object(使用 已存在的应用和对象) Use the library and app object from an existing target(从当前的workspace的某个 target转化)
.NET Web Forms转化
选择转化的来源后,根据选择的不同,后续操 作有所差异
选择从空白开始,要求输入新的应用的名称, library名称等,和建立其他类型的target相同。 选择已存在的应用和对象,需选择一个应用并提 供library list。根据选择的应用所使用的pb版本 在需要的情况下转化。 选择从当前的workspace的某个target转化则直 接选择当前workspace中的某个target

pb11 -- PB12 查询数据时死锁问题解决办法

pb11 -- PB12 查询数据时死锁问题解决办法

一、原先PB11中连接方式是:// Profile iadserverSQLCA.DBMS = "OLE DB"SQLCA.LogPass =profilestring('dbms.ini' , "database" , "logpass" , "") SQLCA.LogId = profilestring('dbms.ini', "database" , "logid" , "") SQLCA.AutoCommit = FalseSQLCA.DBParm = "PROVIDER='SQLOLEDB',"+&"DATASOURCE='" + profilestring('dbms.ini' , "database" , "serverip" , "") + "'," +&"PROVIDERSTRING='Database="+profilestring('dbms.ini' , "database" , "dbname" , "")+"'"connect using sqlca ;if SQLCA.SQLCode <> 0 thenmessagebox("提示信息:", '连接数据库出错!' + SQLCA.SQLErrText , stopsign!)rollback using sqlca ;halt closeend if二、经高人指点后的连接方式用以上连接方式,经常在查询的时候都死锁,没有办法,在查询完成后都要COMMIT,后来有位高人指点,增加了加上sqlca.lock='RU' 或者 sqlca.lock='RC' 可以解决死锁问题。

pb11数据窗口新特性

pb11数据窗口新特性
图8
图9
结论
我们希望通过本文能给你一个良好的印象:PowerBuilder 11.5 中的数据窗口能为你做什 么。不要止步于只阅读此文,在你的已有项目上尝试一下,甚至在你刚刚着手的新项目上尝 试一下。实验是有风险的,这些特性会持继地演变,你如何使用它们将决定它们如何演变。
关于作者
Fredrick Koh、Gao Hong、Ni Hai-bo、Gan Ya-qin 和 Liang Liang 是 PowerBuilder 工程团队的 成员,他们负责构思、实现和测试 PowerBuilder 11.5 中数据窗口和图的新特性。
文本透明度 字体选项卡拥有一个新的属性:透明度。
多格式文本编辑风格
为了允许同一个字段中可以使用不同的字体和颜色,我们引入了一种新的编辑风格,那 就是多格式文本编辑风格。多格式文本编辑风格类似于纯文本编辑,不同的是它允许使用不 同的字体和文字颜色。每当此风格的列被编辑时,都会弹出一个字体工具栏。当列失去焦点 时,工具栏自动消失。工具栏可以被移动,它的最后一次位置将被记下来。
PowerBuilder 11.5 中数据窗口新特性
用于客户机/服务器、Windows Forms 和智能客户端应用
作者:Fredrick Koh、Gao Hong、Ni Hai-bo、Gan Ya-qin 和 Liang Liang
在 PowerBuilder 11.5 中,我们引入了新特性,可以让你轻松地为你现有的数据窗口添加 新的外观。列和控件都增加了新的属性,可以让你增加工具提示。你再也不用使用单一背景 色了。我们为列的背景、大多数的控件和区(band)引入了渐变(gradients)和透明度。对 于数据窗口的背景,除了色彩渐变外,你还可以用位图来做壁纸,并让你控制图像的平铺方 式。由于这些新的属性是数据窗口属性,所以可以对它们使用表达式,可以将它们与数据绑 定,把它们认为是处理计算列的新方法。试试文本透明度,现在它作为一个属性,和以前的 字体属性放在一起。

pb11+webservice开发分布式三层应用

pb11+webservice开发分布式三层应用

pb+webservice开发分布式三层应用(演示或测试例程代码:WebserviceExample.rar)一、 WEBSERVICE服务端的开发1、新建立一个workspace工作区先择FILE菜单下的NEW,选择标签页‘Workspace’新建一个工作区。

点击后出现下图在文件名处输入工作区的名称,假设我们的工作区名为webserver,单击保存按钮。

这样工作区就建立成功了。

2、建立一个.net web service 应用点击FILE菜单下的NEW选中.net web service 点击ok按钮点击next按钮点击next按钮这里我们不修改pbl库名,当然你可以按你的意思修改库名,点击next 按钮。

一直点Next按钮直到出现这里需要注意一点,如果你当前的IIS端口,不是默认的80 ,假设是7000的话,那么在localhost后面要加上“:7000” ,。

再点击一次next直到finish按钮。

3、连接数据库(建立测试环境所用文件CreateENV.sql)我们先来建立一个数据库的连接以为后期的webservice服务提供一个连接。

打开系统生成的n_webservice对像在其constructor里面写上SQLCA.DBMS = "ODBC"SQLCA.AutoCommit = FalseSQLCA.DBParm = "ConnectString='DSN=localdbora8;UID=scott;PWD=tiger',PBCatalogOwner='scott'"我是拷贝的这里你可以修改成你的数据库连接参数。

数据库连接建立完成后,我们再建立一个uf_retrieve的方法用来提取数据库数据long ll_row,ll_returnrowstring ls_oldsql,ls_newsql,ls_err_a,ls_errorint i,LI_WHEREdatastore ds1ds1 = create datastoreconnect using sqlca;if SQLCA.SQLCode <> 0 thenp_ref_returnerr="连接数据库出错,请检查数据库连接参数。

pb11新特性及增强内容

pb11新特性及增强内容

#1Pb11.1是当前pb的最新版本所有新特性都是相对于pb10.5而言#2Pb原有的target包括pb app相关的3个target(application 从空白新建立application,也是最常用的,existing application 对于低版本pb程序的转化,template application在模版的基础上建立application)jsp相关的2个target(区别仅是是否带有版本控制),服务器组建的target 因为app server plug-in而一分为二(easerver和其他server)。

这三种再加上新的.net转化,现在一共有4种pb的target。

其中,仅jsp的target不使用powerscript,pb11之后jsp target 将从pb中移到sybase的另一个产品workspace中。

数据库接口中,sql(snc)和sybase 的是新接口,其他仅是一些功能上的提升。

除了数据库接口,其他都要详细讲,数据库接口开发人员只是作为使用者。

#3Ellipsis就是英语的省略号,这样一行显示不下的数据可以在数据后显示省略号,该列得到焦点后,恢复正常显示。

如果你的程序想要转化.net webform的话,不要使用该属性,它属于转化后自动不被支持的属性之一,你如果想知道你的应用中都有哪些属性不被支持,那么你可以直接转化,pb11的另一个新特性,就是在消息输出区增加了unsupport feature,在转化时显示哪些特性不被支持。

Treeview样式的DW是pb10.5才出现的,估计还会逐步改善,个人感觉最需要改善的是他不能支持任意级别的数,只能支持固定级别的数原来的设置height=0,可以消除数据,但是不能消除连线,等于实际没法应用。

#4窗口可以同时指定打开和关闭的动画效果,可以指定效果的持续时间。

透明度可以指定一个1到100之间的数值,使窗口呈现半透明效果(0为不透明,数字越大透明度越高)例子中的过滤条件将留下小写a,b开头的纪录,但是如果不用/s选项,除了小写a,b字母开头的以外,大写A,B开头的纪录也将被留下。

PB11简介

PB11简介

2.5 窗口、用户对象之间的消息传递




Pb8.Pdf用户手册中1.2.7的详细介绍 PostEvent 参看Pb8.pdf用户手册中3.1.9小节详 解 邮寄执行 随机空闲执行 TriggerEvent 参看PB8.Pdf用户手册中3.1.16小节 详解 立即执行 按消息队列顺序执行 使用Send消息传递(窗口之间的通讯)参看 Pb8.Pdf中2.14.12小节 窗体打开可以通过OpenwithParm传递参数 响应窗体可以通过ClosewithReturn 截取返回值 全局消息对象Message 的三个常用属性。 DoubleParm、StringParm 、PowerObjectParm

pro_treeviewclass 非可视化的用户对象 uo_treeview 可视化的用户对象
2.4.4 如何使用用户对象

可视化用户对象
所谓可视用户对象就是可重用的具有某种行为的一个或一 组控件。换句话说,也就是为了重复调用,将逻辑封装成 一个整体。

类用户对象
它也具有非常广泛的应用领域。比方说,在制作一个商用数据 库软件的时候,经常会使用某些商业规则对数据进行重复地计 算和处理。如果我们定义一个用户对象,由它来管理这套数据 处理的办法,那就会使程序的设计工作方便很多。类用户对象 也叫非可视化用户对象,与可视化用户对象用法基本类似。在 Pb11中来看一下。
2.9 应用程序开发及发布

创建一个应用调试 利用开发工具编译成Dll或PBD 发布EXE、Dll(PBD) + Pb的支持动态库,类 似于Java的虚拟机
3.1 Dw数窗的详细介绍




不同风格数窗使用介绍(12种风格) 如何设计数窗 数窗检索数据,正常检索、带参数检索 数窗更新数据 数窗的数据源介绍(无数据源、SQL语句组 合、视图、存储过程) 数窗四个缓冲区的介绍 Primary,Delete,Filter, Original(隐式的)

PB11数据库技术及应用

PB11数据库技术及应用
n 3.支持可视化效果应用开发 n 具有免费PB应用程序服务器接口和专用于Windows Mobile®
PocketBuilder的Sybase® PB®11.5版本已投入使用。为开发带来很多 帮助包括:增强的.NET支持、创建具有丰富可视化效果的数据驱动型应 用程序的全新DataWindow创新功能、
8.1 PowerBuilder简介
n (2)增强的数据库支持
n 支持MS SQL Server 2008和Oracle 11g。 n (3)DataWindow 和美化增强 n 1)支持PNG n 2)菜单、工具栏、树状图、DataWindows、图片、图片按钮
3)透明度 n 4)背景:渐变梯度、图片 n 5)控件:渐变梯度、透明度(以百分比表示)、工具提示 n 6)列:Rich text 编辑格式 n 7)图形:三维图形风格(也在独立图形控件中)。包括使用 3D技术渲染饼状图、柱状图、条状图、线形图和范围图表,
8.1 PowerBuilder简介
n 能极大地提高开发效率的全新本地关系型数据库管理系统(RDBMS)驱动 器、带有应用程序服务器接口,允许第三方应用程序服务器直接在PB整合 式开发环境中进行相关部署和简化的安全系统等。
n 4.其他新功能
n 此外,PB新版本增强了.NET的互操作性、提供了创新的DataWindow ,以及其他大量的新功能,使工作变得更简单、应用程序更稳健,也提高 了开发速度。PB将继续利用现有代码、技术投资和专门技术,整合最新的 开发模式,用于解决业务和IT问题。 n (1)增强的.NET支持 n 1)Strong-named assemblies; n 2)对原语和枚举类的函数调用; n 3)静态成员访问; n 4)对.NET的功能性、支持度和互操作性随着Windows的普及而强化 ,所以PB不断进行更新,与Microsoft最新技术保持同步。

PB11简介PPT课件

PB11简介PPT课件
PowerBuilder是著名的数据库应用开发工具生产 厂商PowerSoft公司推出的产品(PowerSoft现已 被数据库厂商Sybase所收购),它完全按照客 户机/服务器体系结构研制设计,在客户机/服 务器结构中,它使用在客户机中,作为数据库 应用程序的开发工具而存在。由于PowerBuilder 采用了面向对象和可视化技术,提供可视化的 应用开发环境,使得我们利用PowerBuilder,可 以方便快捷地开发出利用后台服务器中的数据 和数据库管理系统的数据库应用程序。
合、视图、存储过程) 数窗四个缓冲区的介绍 Primary,Delete,Filter, Original(隐式的)
2021/7/22
19
3.2 Dw需要注意的要点
保存成功时,务必提交事务、避免死锁 保存失败时,务必回滚事务、避免死锁 Commit Using Sqlca 提交事务默认操作 Rollback Using Sqlca 回滚事务默认操作 事务对象介绍 SQLCA,SQLSA,SQLDA 数窗的常用函数介绍 数窗中状态的介绍DWItemStatus NotModified! DataModified!New!NewModified!
2021/7/22
17
2.9 应用程序开发及发布
创建一个应用调试 利用开发工具编译成Dll或PBD 发布EXE、Dll(PBD) + Pb的支持动态库,类
似于Java的虚拟机
2021/7/22
18
3.1 Dw数窗的详细介绍
不同风格数窗使用介绍(12种风格) 如何设计数窗 数窗检索数据,正常检索、带参数检索 数窗更新数据 数窗的数据源介绍(无数据源、SQL语句组
2021/7/22
6
2.2PB11的特点

PPB调用PB11的WEBSERVICE

PPB调用PB11的WEBSERVICE

PPB学习44-PPB调用PB11的WEBSERVICE首先先感谢Q群的深圳-谬谬,把这个问题解决了,我在此基础上做一个例程。

PB11可以向.NET上直接发布WEBSERVICE服务,下面我们就举个例子来看下如何实现这个过程。

以下是例程的工作环境:.net2005,PB11.2,PPB2.5,ASA9,IIS数据库采用ASA9自带的SAMPLE数据库,准备工作,为SAMPLE数据库创建一个系统的DSN。

如下图所示,命名为ASADEMO9。

这个DSN设成服务方式启动,如下图IIS请检查WWW服务是否已经开启,默认网站是否已经启动,如果没有启动可以更改一下WWW端口试下,可能你的80端口被其他程序占用。

如下图所示。

这一切准备好了,下面我们就开始先用PB11发布一个WEBSERVICE,在这个实例中,我要完成的是将一个SELECT的SQL语句做为参数,将这个SELECT语句的结果返回去。

打开PB11,NEW一个TARGET,在下面的对话框中选择.net web service,创建一个发布到.NET上的WEB SERVICE应用下面是一个向导过程,第一页,NEXT,没啥要设置的。

第二页设置是新做一个还是使用一个已有库列表,这里我们选择新做一个。

第一个选项,按NEXT设置PROJECT的名字及PBL和PBT的文件路径,我命名为P_mywebservice,文件路径我就放在下面的目录,大家根据自己的需要放置。

按NEXT这一页是否要增加其他PBL,这里我们没有其他PBL加入,直接按NEXT创建一个用户对象,取名n_mywebservice,如下图所示,按NEXT这页是设置发布到.net上的目录,可以用默认值,如下图,按NEXT添加其他资源文件和目录,这里我们就不填了,按NEXT添加需要的动态库,在我们这个例子里也没有要添加的,按NEXT设置输出,一个是生成SETUP文件,用于安装,另一个是直接发布到IIS 上,我们选发布到IIS上,并且设定IIS的地址,包括端口号。

Pb11编写webservice数据库连接性能研究

Pb11编写webservice数据库连接性能研究

Pb是很好的开发数据库应用的软件,pb8以前可以用其自带的Transport 对象实现三层结构,但pb8以后简单好用的只有easerver,但据说这是很贵的软件,就是盗版也不好找。

Pb11可直接将nvo发布为webservice,这对pb熟手来说是一个很好的事情,可是,习惯了C/S结构开发的思路,用webservice,数据库连接会不会过于频繁?用pb内部的数据库连接方式有没有连接池?Webservice连接性能到底怎样?等等问题,是每个从C/S编程转向B/S编程或采取三层结构编程的人都会涉及到的。

下面就以pb11写webservicepb8调用对其连接池及性能进行测试。

1、单客户端、不连接数据库、pb写的webservice的响应速度测试方案:Pb11 webservice函数of_adder(),累加当前秒钟值 10000 次的结果。

客户端pb8,在不同电脑上,调用1000次。

Webservice代码如下图。

测试结果:耗时25秒,无数据库连接会话。

2、单客户端、连接数据库、pb的webservice的响应速度测试方案1:函数f_connect()连接数据库,函数of_getdbhandle()返回当前连接数据库事务对象的句柄,客户端保持webservice连接(每次调用不重新初始化),webservice 保持数据库连接不断开。

客户端pb8,在不同电脑上,调用100次。

客户端代码如下:string ls_wsdllong i, jlong numssetpointer(hourglass!)//连接系统库SQLCA.DBMS = "IN7 INFORMIX-7"SQLCA.Database = "sysmaster"erId = "informix"SQLCA.DBPass = wf_sa_pwd()SQLCA.ServerName = "192.168.0.1@server1"SQLCA.AutoCommit = FalseSQLCA.DBParm = "CommitOnDisconnect='No',DisableBind=1"connect using sqlca ;if sqlca.sqlcode <> 0 thenmessagebox('错误',"连接系统库失败",stopsign!)returnend iftime t1,t2t1 = now()st_times.text = ''//循环调用for j = 1 to long(sle_cs.text)yield()if not isvalid(w_1) then exitst_nums.text = string(j)//未创建 webservice连接则创建 ( ws为窗口实例变量 )if not isvalid(ws) thenws = Create oleobjecti = ws.ConnectToNewObject("MSSOAP.SoapClient30")if i <> 0 thendestroy wsmessagebox('提示 ','请检查是否安装了SoapSDK3.0和XML4.0', exclamation!)returnend ifws.ClientProperty("ServerHTTPRequest",true)ls_wsdl = profilestring("soap.ini", "soap", "url", "")ws.mssoapinit(ls_wsdl)ws.ConnectorProperty("Timeout",180000)end if//webservice 方法中每次连接数据库且用完即断开st_dbhandle.text = ws.of_getdbhandle() //webservice方法连接数据库时的dbhandle()//st_dbhandle.text = ws.of_adder()//从 sysmaster 库中查看 webservice 中每次连接是否都释放了,SessionID 是否保持一个// myvpc 为webservice所在主机名(web服务器主机名)select count(*) into :nums from syssessions where hostname = 'myvpc' using sqlca ;if not isvalid(w_1) then exitif sqlca.sqlcode =0 thenst_nums_dq.text = string(nums) //循环第j次时连接数据库的sid数if long(st_nums_min.text) > nums then st_nums_min.text = string(nums) if long(st_nums_max.text) < nums then st_nums_max.text = string(nums) end ifif not isvalid(w_1) then exitnextt2 = now()st_times.text = string(SecondsAfter(t1, t2))if isvalid(sqlca) thendisconnect using sqlca ;end ifif isvalid(ws) thenws.DisconnectObject ( )destroy wsend ifwebservice代码如下图:测试结果:耗时81秒,最大SID数100,每次dbhandle均不同。

pb11数据窗口新特性

pb11数据窗口新特性
所有的这些特性都可用于传统的客户机/服务器、Windows Forms、智能客户端应用和 InfoMaker。
工具提示(Tooltips)
当你拿到 PB 11.5 的软件拷贝时,你会注意到,现在所有的数据窗口控件和列都有了一 个额外的属性选项卡(见图 1)。
图1
这些属性的意思和你所认为的完全一样,它们就是那样易用。如果你无法确定,那就试 试随便设置一下,然后将鼠标移到预览窗口(见图 2)。
多格式文本(Rich Text)作为一种的新的列编辑风格被引入。你的数据再也不必只能是 以单一的颜色和字体来展示了,而且使用它不会比使用其它编辑风格费事费力。图(Graph), 不管是单独的控件还是在数据窗口中,都有了一种新的 3D 外观。我们增强了对位图的支持, 通过使用 PNG 格式来使用透明色。
文本透明度 字体选项卡拥有一个新的属性:透明度。
多格式文本编辑风格
为了允许同一个字段中可以使用不同的字体和颜色,我们引入了一种新的编辑风格,那 就是多格式文本编辑风格。多格式文本编辑风格类似于纯文本编辑,不同的是它允许使用不 同的字体和文字颜色。每当此风格的列被编辑时,都会弹出一个字体工具栏。当列失去焦点 时,工具栏自动消失。工具栏可以被移动,它的最后一次位置将被记下来。
请注意渐变,来进行渐 变。
图6 “比例(Scale)”、“焦点(Focus)”和“伸展(Spread)”属控制从一个渐变色到另一个
渐变色这个过程的各个不同方面。在此,我就此打住,不再多费口舌来描述这些属性了,当 你拿到你的 PowerBuilder 11.5 的拷贝时,你可以自己试试。11.5 中数据窗口的特性被设计为 “心想事成”(借用同事 Reed Shilts 的术语):你对程序做出某些修改,你就能立刻见到效 果。 数据窗口的背景

使用PowerBuilder11实作出最佳的.NET专案

使用PowerBuilder11实作出最佳的.NET专案

September 09 M-Power eNew如何使用PowerBuilder11實作出最佳的.NET 專案PowerBuilder 11開發.NET 應用,使用的語言主要是PowerScripts ,關鍵在於透過編譯器的自動轉譯功能,產出標準.NET IL(Intermediate Language)的執行碼,運作於.NET Framework 環境上。

這樣的開發機制,理論上雖說可以完全使用PB 既有的開發經驗來開發新的.NET 應用,但實際上由於.NET 與PowerScripts 這兩種語言間先天存在著一定的差異,例如在語法的結構上,PowerScripts 是比較鬆散、兼容的,相較之下,.NET 所使用的語言(如C#),則顯得比較嚴謹、沒有什麼彈性,這使得許多在PowerBuilder 中能過通過編譯的語法,在.NET 編譯器上卻不一定能行的通,因此PB 程式設計師在開發上需要注意一些細節,才能讓.NET 應用的開發流程更順暢,產出合乎期待的程式碼。

為此,本期文章特地整理了PB 開發.NET Target 應用須注意的事項,以便幫助程式設計師實作出最佳的,NET 應用。

兩個必須避免的函式寫法‧ 避免使用GoTo 語法由於PB 中沒有範圍(Scope)這樣的觀念,因此GoTo 能夠在傳統的PB 程式中使用,不過在.NET 中有範圍的觀念,雖然GoTo 的語法能夠使用,但如果GoTo 的label 被標示在不同的範圍裡,那編譯時就會出錯,範例如下:在這個範例中, PB 程式碼(左下)會被轉譯成.NET 程式碼(右下),由於.NET 語法的特性label 的部份會形成另一個新的範圍,造成編譯錯誤! 原PB 程式碼轉譯後的C# 程式碼(會造成編譯錯誤!) if b = 0 thenlabel: ...else...end ifgoto label if (b == 0) { // opening a new scope label: ... } else {...}goto label;‧ 避免以間接的方式執行一個物件的祖先事件:例如有三個Window ,W_1、W_2、W_3,W_2繼承自W_1,W_3又繼承自W_2,在三個Window 中都有一個Clicked event ,傳統PB 中如果在W_3的clicked event 以如左下方式呼叫執行W_1的clicked event 是可行的,程式的意義是以間接的方式去呼叫執行祖先W_1的clicked event ,不過這樣的語法轉換成C#的程式碼後,由於C#並不支援如PB 般的非直接呼叫event語法,這意味著在C#程式中邏輯會變成直接執行W_3自己的clicked event(如右下),雖不會編譯錯誤,卻會造成非預期的執行結果,解決的辦法是將祖先event中的程式碼移到function 中,然後子孫再呼叫該祖先的function。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.NET Web Forms转化
选择win32 DLL文件
.NET Web Forms转化
选择JavaScript文件
.NET Web Forms转化
选择发布的类型
.NET Web ForБайду номын сангаасs转化
确认发布
.NET Web Forms转化
.NET Web Forms转化
所有属性都可以在IIS服务器的对应应用上修改, 在PB中修改需要重新发布。
记忆Retrieval Arguments
仅在设计时有效 Composite样式的DW无效 新建的DW必须保存,退出再打开后才有效。
Powerbuilder11.0的其他增强内容
窗口控件的增强
增加了打开和关闭窗口的动画效果 增加了窗口透明度的属性
系统函数的增强
GetByteArray实现blob数据转化为byte数组。 Blob函数支持byte数组作为参数。 各种Trim函数增加第二个参数,可以去除任何空 白的符号,包括回车换行和TAB等。 SetFilter函数增加\s选项,对字符串的比较使用 Ascii模式,不加选项使用的是字典模式。例 如:”#2 >= 'a' and #2 < 'c' \s”
DataWindow的增强
UseEllipsis属性,Edit或EditMask样式的列可以 选择UseEllipsis属性,隐藏显示不了的数据。
设定了Autosize Height属性后无效 设定了Escapement属性后无效
Treeview样式的DW
隐藏树结点(设置height为0) 保留展开状态挪动节点 特有的节点展开等事件无需手工添加
PowerBuilder 11.5(2008第三季度)
核心.net的提升 数据窗口提升(图,rtx,powertip)
PowerBuilder 12(2009)
.net图形控件整合 Managed code WPF/WCF DataWindow and controls
PB IDE本身的各种增强。
Powerbuilder11.1的主要增强内容
支持Vista操作系统
PB IDE本身(Run as administrator) PB所创建的程序(运行于32位兼容模式,DLLs 签名)
.net增量编译 RadControl替代IE Web Control(除TreeView) 数据库支持方面的改良
.NET Web Forms转化

.NET Web Forms转化

.NET Web Forms转化

.NET Web Forms转化

.NET Web Forms转化

Powerbuilder随后的发展
PowerBuilder 11.2(2008第一季度)
WebForms支持AJAX EAServer支持.NET RAD控件增加TreeView完全取代IE webcontrol
数据库接口的更新
Oracle 10g SQL Server 2005 Adaptive Server Enterprise 15 MobiLink synchronization
DataWindow可以用WebService作为数据源 Application Server Plug-in
Powerbuilder11.0的其他增强内容
.NET Web Forms转化
选择Project Name以及位置
.NET Web Forms转化
选择应用的名字以及部署的位置
.NET Web Forms转化
选择资源文件
Add files(直接添加一个或多个资源文件) Add directory(添加文件夹,目录中所有文 件都将被包含,包含子文件夹,采用相对路 径) Search PBR files使用pbr文件中指定的资源 文件 Delete删除选定的资源
Powerbuilder11.1的其他增强内容
OrcaScript增强
可以使用unicode文件 支持创建Windows Forms
Retrieve Argument可以指定空值。
.NET Web Forms转化
转化的前置工作
安装IIS 注册于IIS上(aspnet_regiis.exe -i ) 选择版本 安装IE Web Control(可选) 给ASPNET (IIS 5), IIS_WPG (IIS 6), 或 IIS_IUSRS (IIS 7) 用户或用户组授权。 (Vista) 修改程序所在的application pool为 Classic managed pipeline 模式,(默认为 Integrated managed pipeline模式) (Vista)修改程序所在的application pool,选择 Enable 32-bit Applications选项。
.NET Web Forms转化
选择转化的来源后,根据选择的不同,后续操 作有所差异
选择从空白开始,要求输入新的应用的名称, library名称等,和建立其他类型的target相同。 选择已存在的应用和对象,需选择一个应用并提 供library list。根据选择的应用所使用的pb版本 在需要的情况下转化。 选择从当前的workspace的某个target转化则直 接选择当前workspace中的某个target
PowerBuilder 11
新特性及增强内容讲解
Powerbuilder11.0的主要增强内容
新增4种.net target(.net部署)
.NET Web Forms(整个应用转化) .NET Windows Forms (整个应用转化) .NET assemblies(nvo转化) .Net Web services (nvo转化)
.NET Web Forms转化
1.新建.NET Web Forms Target
.NET Web Forms转化
选择转化的来源
Start from scratch(从空白开始) Use an Existing library and app object(使用 已存在的应用和对象) Use the library and app object from an existing target(从当前的workspace的某个 target转化)
相关文档
最新文档