4D v13.4

Webエリアのプログラムによる管理

ホーム

 
4D v13.4
Webエリアのプログラムによる管理

Webエリアのプログラムによる管理  


 

 

このテーマのコマンドは、Webエリアタイプのフォームオブジェクトをプログラミングによって管理するために使用します。

WebエリアはあらゆるタイプのWebコンテンツを4D環境で表示します。静止画や動画を含むHTMLページ、ファイル、ピクチャ、Javascript、Flash、PDFそしてMS Officeドキュメント (MS OfficeがインストールされているWindowsのみ) などです。以下のピクチャはフォームに格納されているWebエリアで、HTMLページを表示しています。

Webエリアテーマのコマンドに加え、いくつかの標準アクションやフォームイベントを使用して、デベロッパはこれらのWebエリアの機能をコントロールすることができます。特定の変数を用いると、エリアと4D環境の間での情報交換が可能となります。つまり、これらのツールを利用すると、フォーム上にベーシックなWebブラウザを構築することができるのです。

Webエリアは、4Dフォームエディタのオブジェクトバーにあるプラグインエリア/サブフォームボタンに追加された新しい項目を使用して作成されています (詳細はデザインリファレンスマニュアルのWebエリアを参照してください) 。

他の動的なフォームオブジェクトのように、Webエリアはオブジェクト名とテキスト型の変数名を持ちます。これらはWebエリアをプログラミングによって処理する際に使用されます。 特にWebエリアに対してOBJECT SET VISIBLEコマンドとOBJECT MOVEコマンドを使用することができます。

: Webエリアに割り当てられるテキスト変数は参照を格納していません。そのためメソッドの引数として渡すことはできません。例えばWebエリアにMyAreaという変数名が割り当てられているとき、以下のコードを使用することはできません。

 Mymethod(MyArea)

Mymethodコード

 WA REFRESH CURRENT URL($1// 動作しない

このタイプのプログラミングに対しては、ポインタを使用する必要があります。

 Mymethod(->MyArea)

Mymethodコード

 WA REFRESH CURRENT URL($1->) // 動作する

Web エリアを表示させるためには、エリアを"コンポジットモード" のウィンドウに置かなければなりません。Mac OS のこの内部的なウィンドウ処理モードは、すべての4D ウィンドウで使用されているわけではありません。
4D v11 SQL では、"コンポジットモード" のウィンドウは:

  • コンポジットモードのタイプを持つ Open window コマンドと Open form window コマンドによって作成されたウィンドウ (定数値4096)
  • デザインモードでプロジェクトフォームを表示するウィンドウ

Note: 特定の前世代のオブジェクトはコンポジットモードと互換がありません (例えば4D Chart エリア)。このようなオブジェクトがコンポジットモードのウィンドウに表示されると、オブジェクトは動作しません。

標準的なオブジェクト変数に加え (前述の項目を参照) 、指定された2つの変数が、自動的にそれぞれのWebエリアに割り当てられます。

  • URL変数
  • 進捗変数

これらの変数はそれぞれ、デフォルトでWebエリア_url と Webエリア_progressという名前が付けられます。必要であれば、これらの名前を変更することも可能です。これらの変数はプロパティリストからアクセスできます。

URL変数は文字列タイプです。この変数にはWeb エリアにロードされたURL またはロード中のURL が格納されます。

変数とWeb エリア間の連携は双方向で行われます。

  • ユーザが新しいURL を変数に割り当てると、このURLは自動でWeb エリアにロードされます。
  • Web エリアでブラウズが行われると、自動で変数の内容が更新されます。このエリアはブラウザのアドレスバーのように機能します。Web エリアの上側にテキストエリアを置いて、内容を表示させることができます。

URL 変数とWA OPEN URL コマンド

URL 変数はWA OPEN URLコマンドと同じ効果をもたらします。しかしながら以下の違いに注意してください。

  • ドキュメントにアクセスする場合、この変数はRFC 準拠 ("file://c:/My%20Doc") なURL のみを受け付け、システムパス名 ("c:\MyDoc") は受け付けません。WA OPEN URL コマンドは両方の記法を受け付けます。
  • URL 変数が空の文字列の場合、Web エリアはURL をロードしません。WA OPEN URL コマンドはこの場合エラーを生成します。
  • URL 変数にプロトコル (http, mailto, file など) を含まない場合、Web エリアは"http://" を付加します。WA OPEN URL コマンドは付加しません。
  • Web エリアがフォーム上で表示されていない場合 ( フォームの他のページにWeb エリアがある場合等)、WA OPEN URL コマンドを実行しても効果はありません。一方、URL 変数に値を代入すると、カレントのURL が更新されます。

進捗変数は倍長整数タイプです。この変数には0 から100 までの値が格納され、この数値はWeb エリアに表示されるページのロードされたパーセンテージを表します。この変数は4D が自動で更新します。手動で変更することはできません。

特定のフォームイベントは、Webエリアをプログラミングで管理するこを目的としています。すなわち、リンクの起動に関連しています:

  • On Begin URL Loading
  • On URL Resource Loading
  • On End URL Loading
  • On URL Loading Error
  • On URL Filtering
  • On Open External Link
  • On Window Opening Denied

更に、Webエリアは以下の汎用フォームイベントをサポートしています:

  • On Load
  • On Unload
  • On Getting Focus
  • On Losing Focus

これらのイベントに関する詳細は、Form event コマンドの記述を参照してください。

 

フォームが実行されると、他のフォームエリアと対話することを可能にする、標準のブラウザインタフェース機能がWeb エリア中で利用可能になります。

  • 編集メニューコマンド: Web エリアにフォーカスがあるとき、選択された内容に基づき、編集メニューコマンドを使用してコピーやペースト、すべてを選択などのアクションを実行できます。
  • コンテキストメニュー: Web エリアで、システムの標準コンテキストメニューを使用できます (コンテキストメニューの表示はWA SET PREFERENCE コマンドを使用してコントロールできます) 。
  • ドラッグ&ドロップ: 4D のオブジェクトプロパティに基づき、ユーザはWeb エリア上で、またはWeb エリアと4D フォームオブジェクト間で、テキストやピクチャ、ドキュメントをドラッグ&ドロップできます。

Windows では、Web エリアを使用して、Microsoft Office ドキュメントを表示したり、編集したりできます (Microsoft Office がマシンにインストールされている場合)。特にWord、Excel、PowerPoint ドキュメントなど (.doc、.xls、.ppt などの拡張子) を処理できます。MS Office XMLフォーマットもサポートされています。

Note: MS Office 2007 はデフォルトでWeb ブラウザでのドキュメントの表示を許可していません。ドキュメントは常に新規ウィンドウに表示されます。以下のアドレスで説明されている方法で、この動作を変更できます。
http://support.microsoft.com/kb/162059/ja-jp
最後に、Windowsでは、Web エリアを使用して、ローカルや外部のフォルダを表示できます (ftp:// プロトコルやネットワークパス名\\myserver\myvolume を使用して)。

Windows では、Web エリアから、同じ4D アプリケーションで起動されているWeb サーバへのアクセスはお勧めできません。これを行うとコンフリクトが発生し、アプリケーションがフリーズすることがあります。もちろん他の4D から4D Server のWeb エリアにアクセスすることはできます。自身のWeb サーバにアクセスできないということです。

Mac OS 上のWeb エリアで、プログラムにより処理されるURL はプロトコルで開始されていなければなりません。つまり"www.mysite.com" ではなく"http://www.mysite.com" 文字列を渡さなければならないということです。

 
プロパティ 

プロダクト: 4D
テーマ: Webエリア