PowerBuilder 11与.NET结合:避开开发误区,提升.NET项目效率

需积分: 9 4 下载量 25 浏览量 更新于2024-11-08 收藏 204KB PDF 举报
PB11程式中应用.NET技术开发是一种结合了PowerBuilder 11(PB11)与.NET Framework的开发策略。PB11作为一种第四代图形化编程工具,其主要编程语言PowerScripts被用于构建.NET应用。PowerBuilder的优势在于它能够利用自己的脚本语言来开发,通过编译器的自动转换功能,将PowerScripts代码转化为.NET的中间语言(Intermediate Language, IL),这样可以在.NET环境中运行。 然而,尽管理论上PB11的.NET Target支持能够利用PB开发经验,实际操作中由于PowerScripts与.NET语言(如C#)在语法结构上的差异,开发者需要注意一些关键点。PowerScripts的松散性和兼容性可能导致某些在PB中编译通过的语句在.NET环境下无法执行。因此,以下两点是PB11开发.NET应用时需要特别避免的: 1. 避免使用GoTo语句: 在PB中,GoTo语句由于缺乏范围(Scope)的概念而被允许。但在.NET中,因为有明确的范围概念,GoTo标签如果在不同范围中标记,会导致编译错误。例如,当PB代码中的GoTo试图跳转到另一个范围内的标签时,如所示: ```powershell PB代码: ifb=0 then label: else endif gotolabel .NET代码(错误): if (b == 0) { // 开启一个新的范围 label: } else { } gotolabel; ``` 在.NET中,这样的结构会导致编译失败,因为GoTo标签被视为独立的范围边界。 2. 避免间接执行对象的祖先事件: 在继承关系复杂的对象结构中,比如多个窗口W_1, W_2, W_3,其中W_2继承自W_1,W_3继承自W_2,如果在W_3中通过间接方式调用祖先窗口(如W_1或W_2)的Clicked事件,这在传统PB中可能可行,但在.NET环境下可能会导致预期的行为不符合。因此,推荐直接处理窗口自身的事件,以确保正确性和性能。 总结来说,使用PB11开发.NET应用时,虽然可以利用PB的便捷性,但仍需对.NET语言特性有所了解,并遵循一些特定的最佳实践,以确保代码的可移植性和正确执行。通过避免上述提及的问题,PB开发者可以更加顺利地将PB的开发技巧应用于.NET平台,实现高效的.NET项目。