3

OpenOffice.org Calcでユーザーデータベース(* .dbf)を編集するまで、アプリケーションは完全に機能していました。これで、閉じたデータセットに関する上記のエラーが発生します。

4

3 に答える 3

1

エラーメッセージは、データセットが開いていないことを示しています。開くのを忘れたか、どこかで閉じたようです。

于 2011-07-21T10:31:46.807 に答える
1

あなた自身のコメントによると、データベースファイルが破損しているため、データベースファイルを開くことができませんでした。したがって、あなたの場合のエラーは、あなたがそれを開くのを忘れたことを意味するのではなく、あなたのアプリが壊れた.dbfファイルを開くことができないことを意味しました。

テーブルのActiveプロパティをtrueに設定できなかったという明らかな理由以外に、このエラーが発生する可能性がある他のそれほど明白ではない理由には、システムまたはBDE構成エラー(ODBCまたはADO、または他のBDEランタイムファイルがないか構成されていない)が含まれます)ファイルを開くために必要なもの

于 2011-07-21T16:45:25.780 に答える
0

アプリケーションを実行すると、DelphiはデータセットがDelphiフォームデザイナに持っていた openまたは状態を復元します。closed

エラーが発生した場合、Delphiはこれを完全に削除し、データセットを閉じることができます。
また、ptogramの開始時にデータセットが自動オープンしなくなった後、デザイナーで誤ってデータセットを閉じた可能性もあります。
データセットを使用するときは、データセットが閉じているため、このエラーが発生します。

1つのオプションは、FormCreateイベントでデータセットを明示的に開き、そこにエラー処理コードを追加することです。これにより、エラーメッセージを確認し、そこからデバッグできます。

procedure TForm1.FormCreate(sender: TObject);
begin
  try
    MyDBFTable.Open;
  except on exception e do 
    WriteErrorToLogFile('Cannot open MyDBFTable, error is: ' + e.message);
    // or 
    //ShowMessage('Cannot open MyDBFTable, error is: ' + e.message);
  end; {try}
end;

エラーをログに記録できるため、FormCreateで常にデータセットを明示的に開きます。クライアントアプリに例外がある場合、それは自動的に私に電子メールで送信されます。

于 2011-07-21T11:16:21.300 に答える