CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  GAME,图形处理/多媒体

资源文件的冲突?

楼主vcbear(http://vcbear.mblogger.cn)2001-07-05 10:49:31 在 Delphi / GAME,图形处理/多媒体 提问

我加了一个自己的资源文件,放了一两个新图标,放在工程文件的相同目录下。  
  在某一个form的pas里{$R   myRes.res},可以通过loadIcon获得图标。  
  但是一旦加上这个资源文件,我的应用程序图标就变了,变成该资源文件里的其中一个  
  而不是原来的跟应用程序同名的资源文件里的MAINICON  
  修改来修改去,老是说有Duplicate  
   
  为什么呢?  
  问题点数:100、回复次数:32Top

1 楼vcbear(http://vcbear.mblogger.cn)回复于 2001-07-05 10:56:49 得分 0

不创建新的res,在工程同名res里加个图标(用image   editor)告诉我:  
   
  [Error]   WARNING.   Duplicate   resource(s):  
  [Error]       Type   14   (ICON   GROUP),   ID   MAINICON:  
  [Error]           File   C:\whProject\winscad\winscad_jk\Winscad_jk.res   resource   kept;   file   C:\whProject\winscad\winscad_jk\winscad_jk.res   resource   discarded.  
   
  什么意思嘛?Top

2 楼11830(其其)回复于 2001-07-05 11:09:12 得分 0

太高深了....Top

3 楼vcbear(http://vcbear.mblogger.cn)回复于 2001-07-05 11:14:05 得分 0

经过折腾,其实我回复里的那堆E文问题产生的原因是因为我两次包含了一个Res文件。  
   
  但是新Res文件里的图标会替代程序主图标的问题依然无法解决:(Top

4 楼11830(其其)回复于 2001-07-05 11:19:09 得分 0

太高深了....我头都大了......Top

5 楼InsideDelphi(ID)回复于 2001-07-05 11:24:36 得分 10

To   Vcbear:  
  你最好不要用Borland的ImageEditor(ICON只支持32色,太什么乐)  
  你可以用RC文件  
  用文本编辑器在某个a.RC中这么写  
  MyIcon1   ICON   icon1.ico  
  MyIcon2   ICON   icon2.ico  
  然后用Brcc32   a.rc,即可生成某个res文件  
  然后AddToProject把它包含进来  
  VCbear,我现在手中没有Delphi,说法可能有点错误。  
  Top

6 楼vcbear(http://vcbear.mblogger.cn)回复于 2001-07-05 11:47:32 得分 0

图标的色度我无所谓的。  
  你说的方法我试过的。  
  问题不在于如何生成res文件,而是在于引用一个res文件的时候,编译出来的应用程序的图标被  
  改变了,真不爽。Top

7 楼holyfire(谁最衰啊你最衰,谁最帅啊我最帅)回复于 2001-07-05 11:52:12 得分 30

那就不用资源文件,直接用IDE里提供的方法加载图标不就OK了Top

8 楼vcbear(http://vcbear.mblogger.cn)回复于 2001-07-05 11:54:26 得分 0

IDE里如何加载图标呢?不要告诉我是project   ->Option   里那个哟,没有用Top

9 楼vcbear(http://vcbear.mblogger.cn)回复于 2001-07-05 11:55:54 得分 0

难道无法确切的指定一个程序的主图标吗?Top

10 楼holyfire(谁最衰啊你最衰,谁最帅啊我最帅)回复于 2001-07-05 11:56:41 得分 0

每个Form都有自己的图标,Application的是EXE的图标,不一样的  
  project   ->Option   的是exe的图标  
  TForm.Icon的是Form的图标Top

11 楼holyfire(谁最衰啊你最衰,谁最帅啊我最帅)回复于 2001-07-05 11:58:23 得分 0

Application事实上才是主窗体,不过是个隐藏窗体,不可见。Top

12 楼InsideDelphi(ID)回复于 2001-07-05 11:58:25 得分 0

加载图标?From上面的?呵呵,你可以用Addtional中的TPicture控件。双击Load即可  
  你不要把VC中的控制图标的思想用在Delphi中,在Delphi中只有底层才这么做  
  关于资源冲突,你用Remove   From   Project看一下,是不是两次包含了同一个资源文件。  
  如果要改变标题的图标  
  摄制Application.Icon(还是MainIcon,忘了,没有Delphi)  
  Top

13 楼InsideDelphi(ID)回复于 2001-07-05 12:00:27 得分 0

holyfire是对的Top

14 楼vcbear(http://vcbear.mblogger.cn)回复于 2001-07-05 12:01:51 得分 0

我确实在project->option->Application里指定了一个图标,  
  如果没有使用别的资源文件,exe的图标就显示正常,  
  一使用别的资源文件,exe的图标就变成资源文件里的了,  
   
  真的奇怪。Top

15 楼holyfire(谁最衰啊你最衰,谁最帅啊我最帅)回复于 2001-07-05 12:03:28 得分 0

可能是你的资源文件里的ID和Delphi设定的重复了。你可以将ID号设大一点看看Top

16 楼InsideDelphi(ID)回复于 2001-07-05 12:04:21 得分 0

EXE的图标放在和工程同名的资源文件中  
  在Icon中,叫做MAINICON,所以你的图表千万不要叫做MAINICON,否则......Top

17 楼vcbear(http://vcbear.mblogger.cn)回复于 2001-07-05 12:05:58 得分 0

 
  呵呵,就是没有起名叫MAINICON,才觉得奇怪,这些资源文件我都打开看过的  
   
   
  Top

18 楼vcbear(http://vcbear.mblogger.cn)回复于 2001-07-05 12:06:36 得分 0

能不能手工指定ID数值呢Top

19 楼InsideDelphi(ID)回复于 2001-07-05 12:12:06 得分 0

能不能把你的工程发过来,让我看一下  
  INSIDEDELPHI@263.NETTop

20 楼InsideDelphi(ID)回复于 2001-07-05 12:13:27 得分 0

delphi和vc机制不一样,你不用指定对应的idTop

21 楼InsideDelphi(ID)回复于 2001-07-05 12:17:18 得分 0

发过来了没有?Top

22 楼vcbear(http://vcbear.mblogger.cn)回复于 2001-07-05 12:21:45 得分 0

不能发,发了你也运行不了     :)Top

23 楼guig(胖胖)回复于 2001-07-05 12:24:41 得分 0

小问题,可能你编辑资源文件的操作方法有些问题。  
  把你的myRes.res   email给我看看,然后再告诉你是问题出在哪里。  
  btw:再说说你用的什么资源编辑器?  
  email:guig@263.netTop

24 楼InsideDelphi(ID)回复于 2001-07-05 12:24:42 得分 0

呵呵,加载图标的语句和资源文件能不能让我看呢?  
  [Error]         File   C:\whProject\winscad\winscad_jk\Winscad_jk.res   resource   kept;   file   C:\whProject\winscad\winscad_jk\winscad_jk.res   resource   discarded.  
  估计是你两次包含了某个文件。Top

25 楼vcbear(http://vcbear.mblogger.cn)回复于 2001-07-05 12:28:38 得分 0

[Error]         File   C:\whProject\winscad\winscad_jk\Winscad_jk.res   resource   kept;   file   C:\whProject\winscad\winscad_jk\winscad_jk.res   resource   discarded.  
   
  这个问题我已经清楚了,不能解决的只是exe文件图标被改变这个问题。  
  我用image   editor编辑,步骤非常简单,直接保存为.res文件,应该不会有什么问题吧。  
  Top

26 楼InsideDelphi(ID)回复于 2001-07-05 12:37:55 得分 0

等一下我试一下Top

27 楼guig(胖胖)回复于 2001-07-05 12:44:01 得分 0

你的ico的名字是什么?  
  就我的经验,你的ico的名字要大于"MAINICO".  
  也就是"XICO","YOURICO","WICO"之类的名字("XICO"   >   "MAINICO"   等等)  
  Top

28 楼vcbear(http://vcbear.mblogger.cn)回复于 2001-07-05 12:48:43 得分 0

斑竹真是热心,感动中........Top

29 楼vcbear(http://vcbear.mblogger.cn)回复于 2001-07-05 12:52:24 得分 0

其实guig胖胖是对的,我刚刚试过,没有错。  
  只是我不理解,如果都是这样的话,Delphi的策略也有点太业余了吧。Top

30 楼InsideDelphi(ID)回复于 2001-07-05 13:17:43 得分 0

呵呵,妈的,刚才气死我了,我的同学在玩SC  
  害的我等了很久  
  要察看资源的话,用Project->Resource  
  不过我没有发现胖胖的问题  
  因为我的图标叫做BOSS都没有错  
  运行正常呀  
  傍晚我再去看  
  睡觉去了Top

31 楼guig(胖胖)回复于 2001-07-05 16:16:56 得分 60

to   vcbear(一只平凡无知的熊)   
  >>只是我不理解,如果都是这样的话,Delphi的策略也有点太业余了吧。    
  这要怪windows,它找不到它想要的就会找最靠前的icon来显示。  
  Delphi在生成资源时,同类资源按id排序。  
  Top

32 楼InsideDelphi(ID)回复于 2001-07-05 16:42:47 得分 0

TO   VCBEAR:  
    我刚才又试了一次,好想没有你所说的错误。  
    不知道是怎么回事。  
    我用的Delphi5+SP1.Top

相关问题

  • 资源文件
  • 读写文件冲突。
  • 文件删除冲突
  • 头文件冲突问题
  • 资源冲突问题?
  • 用elipse,运行时,出现这样的错误:类文件冲突,磁盘上存在具有另一大小写的资源:****.class,请前辈们指点!
  • 资源文件的编辑?
  • 资源文件的问题
  • 关于资源文件
  • 我的资源文件啊!

关键词

  • .net
  • 文件
  • delphi
  • 应用程序
  • winscad
  • 图标
  • 资源
  • mainicon
  • whproject
  • jk

得分解答快速导航

  • 帖主:vcbear
  • InsideDelphi
  • holyfire
  • guig

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo