Okay, so my application was working just fine until I decided to clean up the design-time form a bit by creating a DataModule form and moving all database components to it. I'm using Delphi XE2 Update 1 and these components, TADOConnection, TADOTable, TADOQuery, TADOCommand. As soon as I tried to run the app for the first time with the above named components on the DataModule form, instead of the main form, it now returns an error when this line from the DPR is executed:
Application.CreateForm(TDataModule1, DataModule1);
The error raised is Class TADOCOnnection not found.. Now that I removed and re-added the TADOConnection to the DataModule form, it now raises a different error: Class TADOTable not found., but I think that is just because the create order has changed on the DataModule and a TADOTable
is now the first object that is created on the form.
My uses
clause from the DataModule is:
uses System.SysUtils, System.Classes, Data.Win.ADODB, Data.DB;
I read other posts that said to include ADODB and DB in the uses clause to overcome this error, but that doesn't seem to help.
My full DPR file is:
program Project1;
uses
Vcl.Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {DataModule1: TDataModule};
{$R *.res}
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TDataModule1, DataModule1);
Application.Run;
end.
I even tried removing the line from the DPR file that creates the DataModule and doing that manually in the main form, but that just changes when I get the same error message(s).
I'm not sure what to try next, aside from moving all the components back to the main form. Don't DataModule forms work the same in XE2 as prior versions of Delphi, and why aren't the same TADOConnection and TADOTable class not found messages raised when the components are on the main form?
Any thoughts or insights are very much appreciated.
James