0

I'm working on a project in Delphi 7. We've been moving away from BDE to use ADO. I've removed all the BDE components from each unit. However, on one unit, which does not have any BDE dependencies, the IDE adds DBTables as a reference whenever I try to build.

Using the method from this answer, I modified the uses list to look like the following:

uses
  Windows, Messages, Wwtable, ...  
  {$IFDEF DUMMY}
  ,DBTables
  {$ENDIF}
  ;

And the unit compiles fine, it does not even throw any errors for references it doesn't understand.

The type interface looks like the following

type
  TECNMarkupMaint = class(TForm)
  GroupBox1: TGroupBox;
  Panel1: TPanel;
  btn1: TSpeedButton;
  Label1: TLabel;
  grid1: TwwDBGrid;
  ds1: TwwDataSource;
  table1: TwwTable;
  string1: TStringField;
  float1: TFloatField;
  adoTable1: TADOTable;
  procedure FormCreate(Sender: TObject);
  procedure FormShow(Sender: TObject);
  procedure btn1Click(Sender: TObject);
  procedure adoTable1BeforePost(DataSet: TDataSet);

I thought the problem may be with the Woll2Woll components, but from what I've found they don't rely on BDE. Is there something here I'm missing? How do I stop the IDE from thinking it needs to add DBTables?

Johnny678
  • 13
  • 4
  • 6
    It's one of the components on the form. Find out which one. – David Heffernan Mar 08 '19 at 22:43
  • 8
    Something is using DBTables, and it's one of the design-time components because the IDE is adding the unit. Either you've not mentioned all of the components that are on that form, or Woll2Woll is using DBTables, most likely in `TwwTable` based on the component name. The easiest way to figure out which one is to start a new empty project, save it, and then start adding the same components one at a time, compiling after each one is added. When DBTables shows up, the last component added caused that to happen. – Ken White Mar 08 '19 at 23:29
  • @K It was indeed the TwwTable. If you'd like to post that as an answer, I'll accept it – Johnny678 Mar 18 '19 at 20:25

0 Answers0