我无法在我的程序的多个实例中打开某个表。发生的事情是我试图允许用户打开并用旧表(不包含在数据字典中)替换当前表(数据字典的一部分 - FileForm.ImagesTable)。它适用于程序的一个实例,但是当我们尝试在另一个实例上同时打开同一个文件时。我收到以下错误。
FileName.ADT 此文件正在使用中。输入新名称或关闭在另一个程序中打开的文件。
下面是我将表名和数据路径重新分配给所选表的代码。
OpenDialog1.FileName := '*.adt';
OpenDialog1.Filter := 'Software 6.0 Files (*.adt)|*.adt|Software 5.x Files (*.dbf)|*.dbf';
OpenDialog1.InitialDir := DataPath;
if OpenDialog1.Execute then
begin
Str1 := Trim(OpenDialog1.FileName);
if Length(Str1) = 0 then
Exit;
DSImage.Enabled := False;
with FileForm.ImagesTable do
begin
Active := False;
AfterOpen := FileForm.TableOther.AfterOpen;
DataBaseName := ExtractFilePath(Str1);
TableName := ExtractFileName(Str1);
Active := True;
end;
end;
编辑* 使用 Advtantage 8.1,似乎是一个窗口错误,因为错误发生在对话窗口中。是的 Exclusive 设置为 false。
任何关于为什么会发生这种情况以及如何解决这个问题的想法都值得赞赏。
谢谢