procedure  TForm1.FormCreate(Sender:  TObject); 
var i:  integer; 
begin 
  with  dm3.table1  do  
    begin 
      for  i:=0  to  fieldcount-1  do 
        begin
          combobox1.Items.Add(fields[i].fieldname);
          dm3.table1.next;
    end; 
    end; 
end; 

解决方案 »

  1.   

    dm3没有创建的原因
    我看你的form1是主窗体吧,要真的是这样,dm3肯定没有创建
    可以吧dpr文件的窗体创建顺序修改一下就行了
      

  2.   

    table1 的active 已为true了,dm3已经创建了,出错时箭头指向"dm3.table1"
      

  3.   

    你的意思是dm3一定要在form1之前创建,是吗?
      

  4.   

    procedure  TForm1.FormCreate(Sender:  TObject); 
        var 
            i:  integer; 
    begin 
      with  dm3.table1  do  begin 
            for  i:=0  to  fieldcount-1  do 
            combobox1.Items.Add(fields[i].fieldname); 
          next;
          end; end; 
      

  5.   

    我在说一个情况,那就是如果不用dm模块程序直接放在主窗体上还是可以运行的所以我想肯定是dm3的问题
      

  6.   

    Project  project1.exe  raised  exception  class  EAccessViolation 
    with  message  'access  violation  at  address  004ad631  module  'Project1.exe'. 
    read  of  address  00000060'.  Process  stopped.    Use  Step  or  Run  to  continue. 
    ******************************************************
    NO1:看一看你的DM3窗体,以前有这种问题,就是不一心将字给打错了;
    NO2:
    procedure  TForm1.FormCreate(Sender:  TObject); 
        var 
            i:  integer; 
    begin 
      with  dm3.table1  do  begin 
            for  i:=0  to  fieldcount-1  do 
            combobox1.Items.Add(fields[i].fieldname); 
          end; 
    end; 
    +++++++++++++++++++++++++++++++++++
    刚一formCreate()时,你就这样写,肯定要出错的;
    你试着把这段代码放到一个可视的事件里,如:buttononclick()试一试,结果应该是正确的;
      

  7.   

    你能讲的更具体一点吗,在哪个菜单下,是不是在project菜单下的options下的
     form中,其实我还不是很明白模块和主窗体的先后顺序,要怎么样
      

  8.   

    菜单:PROJECT->VIEW SOURCES 进入项目文件.
    把FORM创建顺序调为以下就可以啦.
    Application.Initialize;
    Application.CreateForm(TDM3, DM3);
    Application.CreateForm(TFORM1, FORM1);
    Application.Run;
      

  9.   

    创建DM3与主窗体FORM1的先后顺序很重要.
      

  10.   

    小小你好,不错我试了一下如果放在button事件中是可以实现以上功能,那可是为什么我把table放在主窗体中用form create 可以呢,我想不是form create
    的问题而是窗体先后的问题,因为书上同样的源代码是可以运行的
      

  11.   

    我也不知道怎么搞的,我先用button试了一下然后用dm就好了我想可能是我无意间改了,其间我只把project菜单下的options下的form中的dm3和form1的autocreate form和availiable form 胡乱改了一下,不过你们能告诉我模块和主窗体的先后顺序是怎么规定的,我重来没碰到这样的问题,一般都是先建主窗体再创建模块,我好像也是这样的,怎么会出现这样的问题呢,要避免这种问题要注意哪几点
      

  12.   

    菜单:PROJECT->VIEW  SOURCES  进入项目文件. 
    就可在里面调整顺序就调整了创建的先后顺序
    如 
    Application.Initialize; 
    Application.CreateForm(TDM3,  DM3); 
    Application.CreateForm(TFORM1,  FORM1); 
    Application.Run;