1.为什么在一个DataModule里放了一个Table,datasource组件,为什么我在form1里想引用table的时候:DataModule1.Table1.open会出现access violation的错误?我已经在前面加了use unit22.用ShFileOperation拷贝文件的时候,为什么会出现:无法复制文件:无法读取源文件或磁盘多谢各位大哥阿

解决方案 »

  1.   

    use unit2你放在哪个位置了?
    最好用文件菜单中的use unit,指定要使用的单元
      

  2.   

    上面的大哥:我的datamodule的单元文件为:unit2,我把他放在窗体头部的那个use的地方了.可以通过编译哦,运行的时候:datamodule1.table1.open :error:access violation,多谢阿
      

  3.   

    1、最好是在implementation后写uses unit2 ;如果还不行,你看看你的Table的属性!
    2、兄弟不才!^_^!就一步一步看看吧!
      

  4.   

    不是unit在何处引用的问题,而是你的数据库的类型和你在程序的参数不一致。或者是数据库别名的问题!
      

  5.   

    smhpnuaa(农奴翻身感谢党)
    靠,怎么样呀,找小游呀!
      

  6.   

    在运行时,是不是把数据库用ACCESS打开了,如果是就关掉它
      

  7.   

    打开工程源文件看看form1 是不是先于DataModule创建的呀
      

  8.   

    1、你用的是什么数据库,用的是BDE吧?查查BDE设置是否有问题。
    2、再想想。
      

  9.   

    搞定,多谢各位大哥的帮助,1.就象上面的大哥说的,数据模块在窗体创建之前没有被创建
    2.ShFileOperation函数要求有两个空字符结尾,这样就可了:
    PSource     :array [0...255] of char
    PTarget     :.......................
    ShfileIonfo :_SHFILEIONFO //结构忘了:)
    FillChar(PShource,256,0);
    FileChar(PTarget,256,0);
    ShfileInfo.pFrom:=StrPCopy(PSource,SourceFile);
    ShFileInfo.pTo  :=StrPCopy(PTarget,TargetFile);
    ......................然后就可以了