Icon View Incident Report

Minor Minor
Reported By: Elevate Software
Reported On: 7/2/2004
For: Version 4.08 Build 1
# 1778 TDBISAMTable DeleteIndex and DeleteAllIndexes Methods Not Updating IndexName Property

When calling the TDBISAMTable.DeleteIndex or TDBISAMTable.DeleteAllIndexes methods on an exclusively-opened table, the IndexName property is not getting reset if the current index is being deleted, and the table does not get refreshed with the new index order, which by default is the primary index after deleting the current, active index.

with DBISAMTable1 do
   begin
   Exclusive:=True;
   DatabaseName:='c:\temp';
   TableName:='customer';
   Open;
   try
      IndexName:='ByCompany';
   except
      AddIndex('ByCompany','Company',[ixCaseInsensitive],'',icFull);
      IndexName:='ByCompany';
   end;
   DeleteIndex('ByCompany');
   ShowMessage(IndexName); // Should be blank and not 'ByCompany'
   end;
end;



Comments Comments and Workarounds
The workaround is to explicitly set the IndexName property after calling DeleteIndex on the active index or DeleteAllIndexes.


Resolution Resolution
Fixed Problem on 7/6/2004 in version 4.09 build 1
Image