是否可以在Powerbuilder 12中創建XBAP應用程序?我瞭解到powerbuilder 12支持WPF,但我不確定WPF瀏覽器(XBAP)應用程序。在PowerBuilder 12中創建WPF瀏覽器(XBAP)應用程序?
任何幫助或鏈接表示讚賞。
謝謝!
是否可以在Powerbuilder 12中創建XBAP應用程序?我瞭解到powerbuilder 12支持WPF,但我不確定WPF瀏覽器(XBAP)應用程序。在PowerBuilder 12中創建WPF瀏覽器(XBAP)應用程序?
任何幫助或鏈接表示讚賞。
謝謝!
因此,由於它尚未發佈,沒有任何官方的,但從我聽說的公告中,這不是在這個版本的意圖。請注意,以前的版本並不打算支持.NET控件,但人們喜歡Bruce Armstrong found creative ways to do it anyway。 (PB12已經非常龐大),但是他們是否會完全放棄XBAP(這是他們的WPF工作的邏輯擴展)並不是100%清楚的,或者其他類似HTML5的東西。
祝你好運,
特里。
不,但您可以手動將WPF Windows應用程序目標轉換爲XBAP。我按照這些步驟發佈了一個經典的PB應用程序作爲XBAP應用程序,並且工作正常,但該應用程序非常簡單;不知道它是否適合你。
PB12.NET生成.csproj文件,Visual Studio無法讀取,因爲它們是UTF-16並且缺少BOM。你可以通過在記事本中打開並保存來解決這個問題。
然後,您需要將項目從WPF窗口應用程序轉換爲WPF瀏覽器應用程序。這可按照本教程來完成:http://www.charlespetzold.com/blog/2006/11/120718.html
PB生成包含主要功能(應用程序的入口點)一個PBApplicationEntryPoint.cs文件。主要調用實例方法PBSession.RunWPFApp,它調用實例方法System.Windows.Application.Run(),但在XBAP應用程序中禁止這種方法。我不知道RunWPFApp()究竟做了什麼,但是如果您刪除此調用並調用PBApplication .create()和.open(),則PresentationHost(在客戶端計算機中執行XBAP的程序)可能會啓動應用程序。方法是這樣的:
刪除:
session.RunWPFApp();
地址:
c__a_your_application_name.GetCurrentApplication().create();
c__a_your_application_name.GetCurrentApplication().open("");
出於某種原因,我不知道,關閉窗口後,打開任何窗口將引發一個異常,該程序將被終止。我發現的解決方案是使用MDI(在PB12.NET MDI中,視覺上等於TDI),並使用OpenSheet(WithParm)作爲選項卡打開窗口。
PB12.NET運行時依賴於一些本地庫(即)非託管代碼,所以應用程序必須完全信任才能使用這些庫。本教程演示如何部署完全信任的XBAP(爲我工作):http://blogs.microsoft.co.il/blogs/maxim/archive/2008/03/05/wpf-xbap-as-full-trust-application.aspx
客戶機必須安裝PB12.NET運行時包和.NET 3.5 SP1。
Sybase對支持Silverlight比對XBAP更感興趣,所以我們可能永遠都看不到正式支持的XBAP部署功能。
好運。
我遵循幾乎相同的方法。但是,我沒有碰到3作爲一個問題。你是否指示你改變了PB在那裏生成的C#代碼?另外,關於6,我只是在XBAP的部署清單中包含PB12.Net運行時,所以它們不需要安裝在客戶端上。剛開始下載需要很長時間。我遇到的主要問題是PB在瀏覽器外部啓動應用程序,因爲主窗口類是Window而不是Page。我試着將其更改爲Page,但是PB12不會正確生成EXE。 – 2011-04-01 16:59:03
3:是的,我更改了生成的代碼。 6:好!我雖然只有.NET程序集可以包含在部署清單中。在單獨的窗口中打開應用程序不是問題。 – ygormutti 2011-05-30 13:55:07