E0009 ファイル "ファイル パス" を作成できません。"エラー テキスト"
プラットフォーム アシスタント サーバーのエラー:インデックス への移動
"エラー テキスト" は以下のいずれかです。
- アクセスが拒否されました。
- The process cannot access the file because it is being used by another process.(プロセスはファイルにアクセスできません。別のプロセスが使用中です)
- The system cannot find the path specified.(システムは指定されたパスを見つけられません)
上記はそれぞれ、原因と解決方法が異なります。詳細は、下記の該当するセクションを参照してください。
アクセスが拒否されました
このエラーが発生するおそれがあるのは、スクラッチ ディレクトリの書き込み権限がない場合です。
エラー メッセージ内のファイルパス
は、プラットフォーム アシスタントが稼働しているシステムの絶対パスです。プラットフォーム アシスタント サーバーが開発用 PC 内のファイルを指定のファイルパス
内に書き込めなかったということです。
このエラーを修正する方法はいくつかあります。
- プラットフォーム アシスタント サーバーが Mac で稼働している場合は、以下の手順を実施します。
- Finder を開き、当該ディレクトリに移動します。
- ディレクトリ内で右クリックし、[情報を見る]を選択します。
- [共有とアクセス権]を展開します。
- ユーザーの権限([アクセス権])を変更して、当該ディレクトリに対する読み取り権限と書き込み権限の両方([読み/書き])を割り当てます。
- プラットフォーム アシスタント サーバーが Windows システムで稼働している場合は、以下のいずれかの手順を実施します。
- 異なるスクラッチ ディレクトリを指定します。異なるスクラッチ ディレクトリを指定するには、以下のいずれかの手順を実施します。
- プラットフォーム アシスタントのデフォルト構成ファイル
paserver.config
で新しいスクラッチ ディレクトリ パスを指定します。このファイルはPAServer
のインストール ディレクトリにあります。テキスト エディタでpaserver.config
を開き、{{{1}}}
と書かれている箇所に新しいパスを追加します。例:scratchdir=C:\Users\<username>\AppData\Roaming\Embarcadero\BDS\22.0\PAServer\scratch-dir
- メモ: この方法では、プラットフォーム アシスタントを実行するたびにスクラッチ ディレクトリを指定する必要がありません。
- コマンドライン スイッチを使ってスクラッチ ディレクトリの新しいパスを指定します。「コマンドラインでスクラッチ ディレクトリの場所を指定する」を参照してください。
- メモ: この方法では、プラットフォーム アシスタントを実行するたびにスクラッチ ディレクトリを指定する必要があります。
paserver.exe
ファイルのショートカットを作成し、[リンク先]フィールドにコマンドライン スイッチを指定します。手順は以下のとおりです。paserver.exe
を右クリックし、[ショートカットの作成]を選択します。- 作成したショートカットを右クリックし、[プロパティ]を選択します。
- [リンク先]フィールドの末尾にコマンドライン スイッチ
-scratchdir=<パス>
を追加します。例:"C:\Program Files (x86)\Embarcadero\PAServer\22.0\paserver.exe" -scratchdir=C:\Users\<username>\AppData\Roaming\Embarcadero\BDS\22.0\PAServer\scratch-dir
- メモ: この方法では、プラットフォーム アシスタントを実行するたびにスクラッチ ディレクトリを指定する必要がありません。
- プラットフォーム アシスタントのデフォルト構成ファイル
paserver.exe
を管理者として実行します。paserver.exe
を右クリックし、[管理者として実行...]を選択します。- メモ: この方法では、プラットフォーム アシスタントを実行するたびにこの手順を実施する必要があります。
paserver.exe
を右クリックし、[プロパティ]を選択します。[互換性]タブで、[管理者としてこのプログラムを実行する]をオンにします。[OK]をクリックして、変更を適用します。- メモ: この方法では、プラットフォーム アシスタントを実行するたびにこの手順を実施する必要がありません。
- 異なる場所にプラットフォーム アシスタントを再インストールします。
- メモ: インストール時に、
C:\Users\<username>\AppData\Roaming\Embarcadero\BDS\22.0\PAServer
など、ユーザー アカウントが読み取りおよび書き込みの権限を持っているインストール場所を指定してください。
- メモ: インストール時に、
- 異なるスクラッチ ディレクトリを指定します。異なるスクラッチ ディレクトリを指定するには、以下のいずれかの手順を実施します。
プロセスはファイルにアクセスできません。別のプロセスが使用中です
このエラーが発生するのは、32 ビット Windows アプリケーションをリモートでデバッグしている場合です。[プロジェクト|オプション...|Delphi コンパイラ|リンク]の[リモート デバッグ シンボルを含める]オプションを True
に設定していない場合に発生します。64 ビット Windows アプリケーションではこのオプションはデフォルトで True
になっているため、このエラーが発生するのは 32 ビット Windows アプリケーションの場合だけです。
このエラーを解決するには:
- リモート マシン上の PAServer インスタンスを閉じます(
q
コマンドを実行します。「Windows でのプラットフォーム アシスタントの実行」を参照)。 - [プロジェクト|オプション...|Delphi コンパイラ|リンク]の[リモート デバッグ シンボルを含める]オプションを
True
に設定します。 - リモート マシンの PAServer インスタンスを再起動します。
- アプリケーションをデバッグします。
システムは指定されたパスを見つけられません
このエラーは、PAServer の scratch-dir
パラメータに無効なパスを指定した場合に発生します。指定したパスが存在しないけれども作成できる場合(パスに存在しないディレクトリが含まれている場合など)、PAServer はそのディレクトリを自動的に作成します。作成できなければ、上記エラーが発生します。
scratch-dir
パスの設定方法は、「コマンドラインでスクラッチ ディレクトリを構成する」および「構成ファイルを使ってプラットフォーム アシスタントを構成する」を参照してください。
その他の例外
スクラッチ ディレクトリとして指定したパスが長すぎる場合にも、別の例外やエラー ダイアログが出力される可能性があります。アプリケーション実行可能ファイルのパス全体の長さは、最大で 255 文字を超えてはなりません。これには、PAServer がプロジェクトごとに自動的に作成するサブディレクトリも含まれるため、スクラッチ ディレクトリのパスを設定する際には注意してください。アプリケーション実行可能ファイルのパスは scratch-dir/<ユーザー名>-<接続名>/<プロジェクト名>/<プロジェクト名>.exe
です。