ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com

ホーム

 
4D v20 R7
OPEN DATABASE

OPEN DATABASE 


 

OPEN DATABASE ( filePath ) 
引数   説明
filePath  文字 in 開きたいファイル名(.4db、.4dc、.4dbase または .4dlink)、 または開きたいデータベースへの完全なアクセスパス

  

OPEN DATABASE コマンドは、現在開いている4Dデータベースを閉じ、filePath で定義されたデータベースを即座に開きます。このコマンドは自動的にテストをする目的や、コンパイル後にデータベースを自動的に開いたり、組み込み 4Dリモートアプリケーションに接続するデータベースサーバーを選択させたりするのに有用です。

filePath 引数には、開きたいデータベースの名前または完全なアクセスパスを渡します。指定できるファイルの拡張子は以下のとおりです:

  • .4db (インタープリタストラクチャーファイル)
  • .4dc (コンパイルされたストラクチャーファイル)
  • .4dbase (OS X パッケージ)
  • .4dproject (プロジェクトデータベースファイル)
  • .4dz (プロジェクトデータベースの運用ファイル)
  • .4dlink (ショートカットファイル)

ファイル名のみを渡す場合、現在開いているデータベースのストラクチャーファイルと同じ階層にそのファイルが置かれている必要があります。

ア クセスパスが有効なデータベースを設定していた場合、4Dは開いているデータベースを閉じ、指定されたデータベースを開きます。シングルユーザーモードに おいては、閉じられた方のデータベースの On Exitデータベースメソッド と、新たに開かれた方のデータベースの On Startupデータベースメソッド (または On Server Open Connectionデータベースメソッド) が順番に実行されます。

警告: このコマンドは指定されたデータベースを開く前にアプリケーションを強制的に閉じるため、On Startupデータベースメソッド の中やこのデータベースメソッドから呼び出されるメソッド内で呼び出すことは通常は推奨されません。

このコマンドは非同期的に実行されます。つまり、呼び出しの後、4Dは他のメソッドを実行し続けます。そして、アプリケーションはファイルメニューの4Dを終了コマンドを選択したのと同じ挙動をします。ファイルを開くダイアログボックスはキャンセルされ、開いているプロセスは全て10秒間の猶予の後に終了します。

指定されたデータベースファイルが見つからないか無効である時、標準のファイルシステムエラーが返され、4Dは何もしません。

 OPEN DATABASE("C:\\databases\\Invoices\\Invoices.4db")

シングルユーザーアプリケーションのスタートアップからサーバーを選択したい場合を考えます。この場合、On Startupデータベースメソッド から立ち上げたプロセスで以下のコードを実行することでそれを行うことができます:
 
 C_TEXT($xml)</div><div>$xml:="<?xml version=\"1.0\" encoding=\"UTF-8\"?><database_shortcut is_remote=\"true\" server_database_name=\"{databaseName}\" server_path=\"{IP}\"/>"
 $databaseName:="myServer"
 $IP:="192.168.6.7:19813"</div><p>If(Shift down)
 $IP:=Request("IP address to connect to "+$databaseName;$IP)
Else
 ok:=1
End if
 
If(ok=1)
 $xml:=Replace string($xml;"{databaseName}";$databaseName)
 $xml:=Replace string($xml;"{IP}";$IP)
 C_OBJECT($link)
 $link:=Folder(fk user preferences folder).file("server.4dlink")
 $link.setText($xml)
 OPEN DATABASE($link.platformPath)
Else
 QUIT 4D
End if

 
プロパティ 

プロダクト: 4D
テーマ: 4D環境
番号: 1321

This command can be run in preemptive processes

 
ページの目次 
 
履歴 

初出: 4D v14 R3

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v20 R7)