还是编译中出现的问题,不知如何解决(50分)

  • 主题发起人 主题发起人 nancycm
  • 开始时间 开始时间
N

nancycm

Unregistered / Unconfirmed
GUEST, unregistred user!
在我的程序中使用了NoteBook控件,是否可以当NoteBook为visible=false时,对其中的
ComboBox控件add items?
因为程序编译后没有代码错误,但提示:
EAccessViolation with message 'Access
violation at address 004F2EA6 in module 'OIL_DB.exe'. Read of address 00000354
这个问题已经问过了,也照别人回答的那样仔细检查了程序中是否有未声明却已经在程序
中使用的,或是程序中声明了却没有使用的情况,但最终还是老问题出现。
 
能仔细说一下你的问题或者贴出你的代码吗?试验一下下面的代码,没有错误呀。。。

procedure TForm1.Button1Click(Sender: TObject);
begin
Notebook1.Visible := False;
ComboBox1.Items.Add('aa');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Notebook1.Visible := True;
Notebook1.ActivePage := 'Default';
end;
 
我把认为存在问题的部分分部代码贴出来,很长的。现在已经不知道还能怎么修改了
procedure TDataModule2.cccsADODataSetAfterScroll(DataSet: TDataSet);
begin
cccsForm.StatusBar1.Panels[1].Text:='当前记录是'
+IntToStr(cccsADODataSet.RecordCount)
+'条记录中的第'+IntToStr(cccsADODataSet.RecNo)+'条记录';
end;

在此处无法继续编译,这样编写有问题吗?

 
也可能是你使用了不常用的方法,不如再重新试试。
 
不要在DataModule2中写这段代码试试
 
》在此处无法继续编译,这样编写有问题吗?
你的代码里面的cccsADODataSet是那里的?是datamodal里面的吗?
如果不是,也需要向Statusbar一样添加cssform什么的前缀。
如果是,你的代码引用了cccsForm,是否uses了该form,如果还不行,你可以将详细的出错信息拿出来看看。
 
问题已解决,把放在DataModule2中的代码移除就解决问题。
 
多人接受答案了。
 
后退
顶部