我用delphi写了个程序,在delphi里面运行出错,错误信息如下
“对象或提供者不能执行所需的操作”,接着程序是可以忽略这个错误继续运行的,build出来的exe可以运行,也不报这个错误,那位老大指点一下这是为什么啊?是哪里的环境配置不对吗?

解决方案 »

  1.   

    这个问题吗,可能是你在操作的窗体上调用了关闭的窗体造成的,编译好的exe是不会提示错误的。
    最好用try except end来写这段代码
      

  2.   

    to wenjianyao(建):应该不是这个问题,我在project里面只留一个mainform的时候没有问题,但是加了一个datamodule之后就出问题了,顺便说一下,以前mainform和datamodule在一个project里面没有出现这个问题
    begin
      Application.Initialize;
      Application.CreateForm(TMainForm, MainForm);
      Application.CreateForm(TDataModule1, DataModule1);
      Application.CreateForm(TLoginFrm, LoginFrm);
      Application.CreateForm(TinforFrm, inforFrm);
      Application.Run;
    end.
    这段代码我把
      Application.CreateForm(TDataModule1, DataModule1);
    注释掉就没问题了,是datamodule的属性问题吗?
      

  3.   

    确切点说,是在
    Application.CreateForm(TDataModule1, DataModule1);
    的时候报的exception,但是是什么原因造成的呢,如何解决?
      

  4.   

    以前mainform和datamodule在一个project里面没有出现这个问题现在不在一个project里吗?
      

  5.   

    问题已经解决了,可是我还是不明白为什么,我把datamodule里面的的Adotable的active属性设为false就不出这个错了,可是我还是不太明白这是为什么,有哪位高人解释一下这个现象?
      

  6.   

    DataModule1 里的 constructor create里是怎么写的?
      

  7.   

    不会吧。有可能是Debug的设置有关。
      

  8.   

    我把Adotable放到datamodule和放到form上的现象是一样的,只要是active=true,F9运行时就报错啊,倒是不影响程序运行结果,就是调试起来烦人啊
    to  hkbarton(宁静至远)(西南交大):datamodule里面没写代码,就放了1个AdoConnection,几个query,几个table
      

  9.   

    是不是AdoConnection设成了连接了?
      

  10.   

    to月光():adotable.active的属性设为true的时候,connction的connected属性会自动变为true的吧,我觉得和Adoconnction的关系不是很大
      

  11.   

    谢谢大家参与,问题是这样解决的,我access数据库自定义了一些查询,在delphi的adotable中的tablenames属性是access查询的名字,在active这个查询的时候出现此错误,用access真正意义上的表的时候不出现此问题,access的查询就类似于大型数据库的视图,不知道大家在做大型数据库的时候是否也出现同样的问题?希望大家在这个帖子里面交流一下这个问题,春节过后结贴,祝大家春节快乐,大吉大利,红包多多,哈哈