应用程序运行正常,直到我在OpenOffice.org Calc中编辑了用户数据库(* .dbf)。现在它给出了关于封闭数据集的上述错误。
答案 0 :(得分:1)
错误消息显示您的数据集未打开。 好像你忘了打开它,或者你把它关在某个地方。
答案 1 :(得分:1)
根据您自己的评论,您无法打开数据库文件,因为它已损坏。因此,您的案例中的错误并不意味着您忘记打开它,而是您的应用无法打开损坏的.dbf文件。
您可能会遇到此错误的其他不那么明显的原因,而不是您将表Active属性设置为true的显而易见的原因,包括系统或BDE配置错误(缺少ODBC或ADO或其他BDE运行时文件)或未配置)打开文件
答案 2 :(得分:0)
如果运行应用程序,Delphi将恢复数据集在Delphi表单设计器中的open
或closed
状态。
如果有错误,Delphi可以退出并关闭数据集
此外,您可能会意外关闭设计器中的数据集,之后不再在ptogram start上自动打开。
当使用数据集时,您将收到此错误,因为数据集已关闭。
一个选项是在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中显式打开数据集,因为这允许我记录任何错误。如果客户端应用程序有异常,它会自动通过电子邮件发送给我。