我有2个程序,使用界面相同,代码不同的登录窗口。
第1个程序没有问题。我在编译第2个程序的时候,出现以下错误提示:[Error] WARNING. Duplicate resource(s):
[Error] Type 10 (RCDATA), ID TFORM2:
[Error] File d:\My Documents\shengfeng\login3.DFM resource kept; file d:\My Documents\shengfeng\login2.dfm resource discarded.对于第2个程序,我是手工建立的新的form,所有代码也是手工加入的。应该是
和第1个程序没有关系才对啊。
2个form所用到的资源只有一个,就是一个jpg文件,不过我是在设计期就把他加
入了,而且2个jpg文件的名字也不是一个。请问是怎么回事啊?

解决方案 »

  1.   

    出现这种错误可能的原因是
    你在dpr文件中已经有这样的编译指令
    {$R xx.res}
    而在pas文件中又加了相同的指令(很可能在你的login2单元中),去掉即可
      

  2.   

    to ilang(中雨):
    我的dpr文件中都有{R *.res},是delphi自己加进去的。
    pas文件中都没有。只有{R *.DFM}to fdwangchao(超超):
    我没有自己定义资源文件,都是delphi自己生成的。
    用哪个软件可以打开资源文件啊?
    或者去掉哪个资源文件呢?
      

  3.   

    我靠,真没想到啊。
    我把第2个程序的登录窗口改了一个名字就行了。
    (原先的时候2个登录窗口的form都叫loginform)
    为什么会这样啊?
    这明明是2个程序,就算form重名又有何关系呢?
    大家再说一下吧,指点一下我。
      

  4.   

    在Delphi出来的VCL程序中会有一个RCDATA资源,
    窗体资源就位于其中,以窗体名为资源名.
    按你的情况,会出现两个名为loginform的RCDATA资源,
    所以报告重复.
      

  5.   

    总之出现这种错误的原因是同名的资源在被重复连接了
    看这样是否可以 删除目录下的RES文件 重新编译
    再不行打开RES文件,检查RCDATA类型(TXT文件资源)的资源连接是否重复
      

  6.   

    不同程序的资源也放在同一个文件中么?
    2个程序的RCDATA资源难道不分开放么?各位老大,再指点一下,谢谢。
      

  7.   

    还有啊,res文件用什么打开看啊?
      

  8.   

    通常一个程序一个资源文件
    res文件可用Delphi自带的ImageEditor打开
      

  9.   

    哦。
    问题总算解决了。
    但是大家说的我还是不明白。
    2个程序的form重名也会带来问题,太不可思议了。
    先结贴吧。各位老大如果还可以指点的话,欢迎。
      

  10.   

    可能我说的不是很清楚,你看阿,你每个程序都要
    {R *.dfm}
    你有两个dfm,每个程序编译起来也要将这两个同名的资源报错
    但是如果你把工程分开放两个目录,就不会有这样问题了.
      

  11.   

    还是banxian(曾半仙)老大说得明白。
    谢谢。结贴啦。