uses dmInfo;
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
begin
with dmInfo do
begin
tblInfo.Open;
end;
由于某些不清楚的原因,tblInfo被视为未声明的标识符。请帮忙。未识别的未声明标识符数据库表
感谢
uses dmInfo;
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
begin
with dmInfo do
begin
tblInfo.Open;
end;
由于某些不清楚的原因,tblInfo被视为未声明的标识符。请帮忙。未识别的未声明标识符数据库表
感谢
编译器解决不了什么tblInfo'是因为你没有组队参加了。它不是直接在单元'dmInfo'范围内,但很可能属于'dmInfo'中的数据模块。所以说,如果你的数据模块的名称为“DataModule的”,你会写
with dmInfo.DataModule do
begin
tblInfo.Open;
可以省略单位名称,如果这样做不会引起任何歧义。
with DataModule do
更好的是,现在开始避免with
并且避免出现可能的模糊问题。
DataModule.tblInfo.Open;
不错,赶上+1,但遗憾的是错过了这个机会,指出这是“带”的问题让人们溜进去。 – MartynA
@Martyn - 至少这段代码没有编译。
虽然我不认为问题与'与'直接相关。海报仍然可以尝试将表格限定为'dmInfo.tblInfo'。 –
看到你明显同意你给datamodule命名为“DataModule”之类的东西,很明显真正的问题在于你如何命名事物。您似乎有错误的方式命名优先级:首先,您应该给重要的**对象**一个有意义的名称,dmInfo而不是DataModule,然后根据对象的名称选择单位的名称,系统后缀(如dmInfou)或前缀。如果你有这种习惯,你会避免造成这种问题的那种滑倒。另外,避免像瘟疫一样“带”。 – MartynA