好的,所以我的应用程序工作得很好,直到我决定通过创建DataModule表单并将所有数据库组件移动到它来清理设计时表单。我正在使用Delphi XE2 Update 1和这些组件,TADOConnection,TADOTable,TADOQuery,TADOCommand。当我试图运行应用程序首次与DataModule的形式在上述指定部件,而不是主要形式,它现在返回时,执行这条线从DPR的错误:TADOConnection/TADOTable类没有找到
Application.CreateForm(TDataModule1, DataModule1);
提出的错误是未找到类TADOCOnnection。。现在我删除并重新添加了TADOConnection到DataModule表单,现在引发了一个不同的错误:未找到类TADOTable。,但我认为这只是因为DataModule上的创建顺序已更改,并且TADOTable
现在是第一个在窗体上创建的对象。
我uses
从DataModule的条款是:
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.
我甚至尝试消除从创建DataModule中的DPR文件中的行,做的是,在主要形式手动,但是当我得到同样的错误,只是改变(多个)消息。
我不确定接下来要做什么,除了将所有组件移回主窗体。不要DataModule表单在XE2中的工作方式与Delphi的先前版本相同,并且为什么当组件位于主窗体上时找不到与TADOConnection和TADOTable类相同的消息?
非常感谢您的任何想法或见解。
詹姆斯
如果所有的OP都移动了一些组件,那么datamodule的使用子句丢失的单元实际上就是错误信息的原因。 –
你的建议'LightBulb',虽然不是答案,但有助于追踪这个问题。我按照你的建议做了,并从头开始创建了一个新的项目,这确实奏效。我会发布完整的答案并解释。 +1为您的建议。 –