DataModuleフォームを作成し、すべてのデータベースコンポーネントをそれに移動することで、設計時のフォームを少し整理するまで、アプリケーションがうまくいきました。私はDelphi XE2 Update 1とこれらのコンポーネント、TADOConnection、TADOTable、TADOQuery、TADOCommandを使用しています。すぐに私が代わりにメインフォームのDataModuleのフォームに上記の名前のコンポーネント、と初めてアプリケーションを実行しようとしたとして、それは今DPRからこの行が実行されたエラーを返します:クラスTADOConnection/TADOTableが見つかりません
Application.CreateForm(TDataModule1, DataModule1);
エラーが発生しましたクラスTADOCOnnectionが見つかりません。。これで、TADOConnectionを削除してDataModuleフォームに再追加したので、別のエラーが発生するようになりました。クラスTADOTableが見つかりません。ですが、これは、作成順序がDataModule上で変更され、TADOTable
がフォーム上に作成された最初のオブジェクトになったからです。 DataModuleのから
マイuses
句は次のとおりです。
uses System.SysUtils, System.Classes, Data.Win.ADODB, Data.DB;
私はこのエラーを克服するためのuses節にADODBとDBを含めると言わ他の記事を読んで、それは助けていないようです。
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ファイルから行を削除し、手動でメインフォームでこれをやってみましたが、私は同じエラーを取得するとき、それはちょうど変更:
マイフルDPRファイルがありますメッセージ。
すべてのコンポーネントをメインフォームに戻すのではなく、次に試すものがわかりません。 DataModuleフォームは、以前のバージョンのDelphiと同じようにXE2で動作します。また、コンポーネントがメインフォームにあるときに同じTADOConnectionおよびTADOTableクラスが見つからないのはなぜですか?
どのような考えや洞察力も大変ありがとうございます。
ジェームズ
すべてのOPがいくつかのコンポーネントを移動した場合、実際にdatamoduleのuses節sh /から抜けているユニットがエラーメッセージの原因になります。 –
あなたの提案「LightBulb」は答えではありませんが、問題を追跡するのに役立ちました。あなたが提案し、最初から新しいプロジェクトを作ったので、うまくいきました。私は完全な答えを投稿して説明します。 +1してください。 –