我刚刚将PB9应用升级为PB12 Classic。好了,到目前为止。
然后我尝试将PB12 Classic应用程序迁移到PB12.NET。当我尝试运行它时,它在编译时弹出以下错误:
事件(' ue_retrieve')无法重载:派生事件有 不同的返回类型(长)与基本事件(void)。
谷歌搜索"派生事件有不同的返回类型"非常无益。有没有人想过为什么9和12 Classic会这么好,但不是12.NET?
ETA:PowerBuilder 12.6,如果它是相关的。
ETA2:我回顾了事件的原始定义,正如您所料,它没有定义的返回类型。我将其定义为" long",并立即从其他返回的事件中得到一堆错误消息" void"。
答案 0 :(得分:1)
问题是PB 12.6不支持事件重载。就此而言,我不认为你可以在任何版本的PB中重载事件(函数是),所以可能在旧版本中没有强制执行。
不要与重写/继承事件相混淆。
听起来唯一的区别是返回类型,所以也许旧版本的PB允许这个,现在他们不能允许它因为.NET,因此没有编译问题。
一般来说,如果你想重载使用函数(在PowerBuilder中),希望这会有所帮助。