我正在创建一个应用程序,要求我将大量数据发布到表中以及更改表中的值。
每当我编写应用程序时,我的大部分时间似乎都会停止错误,例如:
'无法在已关闭的数据集上执行此方法'
或
'tblName不在编辑或插入模式'。
我似乎每次都得到这些,并且它们不容易调试并找出哪里出了问题。
我只是在寻找一些关于如何阻止这种情况发生的指导,我知道这是我正在做的事情。例如,在我得到的那一刻:
'无法对已关闭的数据集'
执行此操作
在此代码中的某处:
procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if not tblSystem.Active then
tblSystem.Open;
if not tblSpecs.Active then
tblSpecs.Open;
tblSpecs.Edit;
tblSpecs.Post;
tblSpecs.Close;
// Post changes to the notes on exit
tblSystem.Edit;
tblsystem.Post;
tblSystem.Close;
end;
和
procedure TfrmMain.chkAutoUpdateClick(Sender: TObject);
begin
tblSystem.Edit;
if chkAutoUpdate.Checked then
chkInstUpdates.Enabled := True
else
begin
chkInstUpdates.Enabled := False;
tblSystemAutoUpdate.AsBoolean := False;
end;
end;
我将立即假设这是用于从表中推/拉数据的错误代码,任何帮助都将受到赞赏。任何调试帮助都会很棒。
答案 0 :(得分:2)
如果我猜,我会说这就是这条线:
tblSystemAutoUpdate.AsBoolean := False;
您正在尝试编辑数据集字段的值,而不会实际打开其数据集。
WRT调试帮助,当您收到异常消息并要求您中断或继续时,请选择“中断”。堆栈跟踪视图(标准布局中的左上窗格)将显示当前线程的函数调用堆栈,并且应该能够引导您直接访问它。此外,请确保在启用“使用调试DCU”项目选项的情况下构建代码的开发人员版本。这将允许您在调试器中跟踪RTL和VCL单元。