代码之家  ›  专栏  ›  技术社区  ›  Jojo Sardez

在PowerBuilder 12中创建WPF浏览器(XBAP)应用程序?

  •  4
  • Jojo Sardez  · 技术社区  · 15 年前

    是否可以在Powerbuilder 12中创建XBAP应用程序?我了解到powerbuilder12支持WPF,但我不确定WPF浏览器(XBAP)应用程序。

    任何帮助或链接将不胜感激。

    谢谢!

    2 回复  |  直到 15 年前
        1
  •  3
  •   Terry    15 年前

    所以,由于它还没有发布,没有什么是官方的,但从我所听到的公告,这不是本次发布的意图。请注意,在以前的版本中,它并不打算支持.NET控件,但人们喜欢它 Bruce Armstrong found creative ways to do it anyway .

    宣布的意图是寻找一个新的网络解决方案后,PB12(PB12已经是相当大的),但它不是100%清楚他们是否会解决XBAP,这是一个逻辑扩展,从他们的WPF工作,或其他类似HTML5。

    祝你好运,

    特里。

        2
  •  0
  •   Community CDub    4 年前

    不可以,但是您可以手动将wpfwindows应用程序目标转换为XBAP。我按照这些步骤发布了一个经典的PB应用程序XBAP-app,它工作正常,但应用程序非常简单;不知道对你是否有用。

    1. PB12.NET生成Visual Studio无法读取的.csproj文件,因为它们是UTF-16并且缺少BOM。你可以通过在记事本中打开它们并保存来解决这个问题。

    2. 然后需要将项目从wpfwindowapp转换为wpfbrowser App。这可以按照本教程进行: http://www.charlespetzold.com/blog/2006/11/120718.html

    3. PB生成包含Main函数(应用程序入口点)的PBApplicationEntryPoint.cs文件。Main调用实例方法PBSession.RunWPFApp,该方法调用实例方法System.Windows.Application.Run(),但这在XBAP应用程序中是禁止的。我不知道RunWPFApp()具体做什么,但是PresentationHost(在客户端机器上执行XBAP的程序)可以启动应用程序,如果您删除此调用并调用PBApplication.create()和.open()方法,方法如下:

      删除:
      session.RunWPFApp();

      c__a_your_application_name.GetCurrentApplication().create(); c__a_your_application_name.GetCurrentApplication().open("");

    4. PB12.NET运行时依赖于一些本机库(即)未授权的代码,因此必须给予应用程序完全信任才能使用这些库。本教程介绍如何部署完全信任XBAP(对我来说很有用): http://blogs.microsoft.co.il/blogs/maxim/archive/2008/03/05/wpf-xbap-as-full-trust-application.aspx

    5. 客户端计算机必须安装PB12.NET运行时包和.NET 3.5 SP1。

    Sybase对支持Silverlight比XBAP更感兴趣,因此我们可能永远不会看到正式支持XBAP部署功能。