Хорошо, так что мое приложение работало нормально, пока я не решил немного очистить форму времени разработки, создав форму DataModule и переместив в нее все компоненты базы данных. Я использую Delphi XE2 Update 1 и эти компоненты, TADOConnection, TADOTable, TADOQuery, TADOCommand. Как только я попытался запустить приложение в первый раз с вышеназванными компонентами в форме DataModule, вместо основной формы, теперь оно возвращает ошибку при выполнении этой строки из DPR:
Application.CreateForm(TDataModule1, DataModule1);
Возникла ошибка: Класс TADOCOnnection не найден. . Теперь, когда я удалил и повторно добавил TADOConnection в форму DataModule, теперь возникает другая ошибка: Класс TADOTable не найден. , но я думаю, что это только потому, что порядок создания в DataModule изменился и TADOTable
теперь является первым объектом, созданным в форме.
Мое предложение uses
из модуля данных:
uses System.SysUtils, System.Classes, Data.Win.ADODB, Data.DB;
Я читал другие посты, в которых говорилось о включении ADODB и DB в предложении использования, чтобы преодолеть эту ошибку, но это, похоже, не помогает.
Мой полный файл DPR:
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.
Я даже пытался удалить строку из файла DPR, который создает модуль DataModule, и делать это вручную в главной форме, но это просто меняется, когда я получаю те же сообщения об ошибках.
Я не уверен, что делать дальше, кроме перемещения всех компонентов обратно в основную форму. Разве формы DataModule не работают в XE2 так же, как в предыдущих версиях Delphi, и почему те же классы TADOConnection и TADOTable не находят сообщения, возникающие, когда компоненты находятся в главной форме?
Любые мысли или идеи очень ценятся.
Джеймс