Paradox ディレクトリ位置の指定
メモ: ボーランド データベース エンジン(BDE)の使用は推奨されません。今後 BDE は機能拡張されません。たとえば、BDE では Unicode がサポートされていません。BDE を使用して新たに開発しないことをお勧めします。既存のデータベース アプリケーションを BDE から dbExpress に移行することを検討してください。
セッションコンポーネントの NetFileDir と PrivateDir という 2 つのプロパティは,Paradox テーブルを扱うアプリケーション専用です。
NetFileDir は、Paradox のネットワークコントロールファイル PDOXUSRS.NET を格納するディレクトリを指定します。PDOXUSRS.NET は、ネットワークドライブ上での Paradox テーブルの共有を管理するファイルです。Paradox テーブルの共有が必要なすべてのアプリケーションが、ネットワークコントロールファイルの同一のディレクトリ(通常はネットワークファイルサーバー上のディレクトリ)を指定しなければなりません。データベースの特定のエリアスについては、ボーランドデータベースエンジン(BDE)の環境設定ファイルから NetFileDir の値が生成されます。開発者が NetFileDir を設定する場合、その値が BDE の環境設定の値に優先するので,正しい値かどうか必ず確認してください。
設計時には、NetFileDir の値をオブジェクトインスペクタで指定できます。実行時にコードで NetFileDir を設定したり変更することもできます。次のコードは、アプリケーションの起動ディレクトリ位置をデフォルトセッションの NetFileDir に設定します。
Session.NetFileDir := ExtractFilePath(Application.EXEName);
Session->NetFileDir = ExtractFilePath(ParamStr(0));
メモ: NetFileDir を変更できるのは、アプリケーションで開いている Paradox ファイルがない場合だけです。実行時に NetFileDir を変更する場合は、その値が、ネットワークユーザーが共有する正しいネットワークディレクトリを指しているかどうか確認してください。
PrivateDir は、ローカル SQL 文を処理するために BDE が生成するファイルなどの一時テーブル処理ファイルを格納するディレクトリを指定します。PrivateDir プロパティに値が指定されていない場合、BDE は初期化時に自動的にカレントディレクトリを使用します。アプリケーションをネットワークファイルサーバーから直接実行する場合は、データベースを開く前に PrivateDir をローカルドライブに設定することにより実行時のパフォーマンスを向上できます。
メモ: 設計時には PrivateDir を設定しないで IDE でセッションを開いてください。PrivateDir が設定されていると、IDE からアプリケーションを実行したときにディレクトリが使用中であるというエラーが生成されます。
次のコードは、デフォルトセッションの PrivateDir プロパティの設定をユーザーの C:\TEMP ディレクトリに変更します。
Session.PrivateDir := "C:\TEMP";
Session->PrivateDir = "C:\\TEMP";
警告: PrivateDir はドライブ上のルートディレクトリに設定しないでください。常にサブディレクトリを指定してください。