Xojo Web は Web アプリ。
Webアプリは通常、url をロードする都度画面遷移する。
しかしながら Xojo Web はそのような遷移方法はポピュラーではなく、1回の HTTP(s) ロードで読み込んだアプリ内で画面遷移を行う。
ここでは複数の画面を切り変えるサンプルプログラムを示す。
環境
- Xojo 2019 R3.2
- Windows 10 Pro
サンプルプログラム
Webアプリを新規作成すると、 WebPage1 が表示されます。
WebPage2を追加します。WebPageはProject Items に Page として入っています。
Page 1 に「Page1」とテキストを貼り付け、 更にわかりやすいように Google MapViewer を貼り付けました。
Page 2 も同様にして、「Page2」とテキストを貼り付け、 今度は YouTube Moview を貼り付けました。更に Button を「Go To Webpage1」として貼り付けます。
WebPage2 の Button1.Action 内のコードを WebPage1.Show
と設定します。
WebPage1 にも同様に Button を貼り付けて、こちらのコードはWebPage2.Show
と設定します。
実行すると、WebPage1 が表示されます。
初期表示ページの切り替え
通常だと WebPage1 が初期ページとしてロードされますが、WebPage2 を初期ページとしてロードしたいときは Session の Open イベントハンドラに WebPage2.Show
と記述します。
初期化ルーチンの置き場所
今まではデータベースへの接続処理などを、WebPage1.Shown に置いてましたが、複数ページを持つときには Session の Open イベントハンドラに置くようにします。
そのとき、データベースの接続失敗時には MsbBox
で警告を出してましたが、Session のOpen内でも MsbBox は表示されるでしょうか?
上記のように設定して実行してみます。
うまく表示されるので、問題なさそうです。
参考
Web App Optimization From Xojo Documentation
http://man.hubwiz.com/docset/Xojo.docset/Contents/Resources/Documents/docs.xojo.com/UserGuide_Web_App_Optimization.html