さて、DataModuleフォームを作成し、すべてのデータベースコンポーネントをそこに移動して、デザイン時のフォームを少しクリーンアップすることを決定するまで、アプリケーションは正常に機能していました。Delphi XE2 Update 1と、これらのコンポーネント、TADOConnection、TADOTable、TADOQuery、TADOCommandを使用しています。メインフォームではなく、DataModuleフォームで上記の名前のコンポーネントを使用してアプリを初めて実行しようとするとすぐに、DPRからのこの行が実行されたときにエラーが返されるようになりました。
Application.CreateForm(TDataModule1, DataModule1);
発生したエラーは、クラスTADOCOnnectionが見つかりません。。TADOConnectionを削除してDataModuleフォームに再度追加したので、別のエラーが発生します。クラスTADOTableが見つかりません。TADOTable
、しかし、これは、DataModuleで作成順序が変更され、フォームで作成される最初のオブジェクトがaであるためだと思います。
uses
DataModuleからの私の句は次のとおりです。
uses System.SysUtils, System.Classes, Data.Win.ADODB, Data.DB;
このエラーを克服するためにuses句に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.
DataModuleを作成するDPRファイルから行を削除して、メインフォームで手動で実行しようとしましたが、同じエラーメッセージが表示されると変更されます。
すべてのコンポーネントをメインフォームに戻す以外に、次に何を試すべきかわかりません。XE2ではDataModuleフォームが以前のバージョンのDelphiと同じように機能しません。また、コンポーネントがメインフォームにあるときに、同じTADOConnectionおよびTADOTableクラスが見つからないというメッセージが表示されないのはなぜですか。
どんな考えや洞察も大歓迎です。
ジェームズ