Delphi XE3文件未找到GIFImage.dcu

8

这是我在Delphi XE3上进行的新安装,我的第一个问题是:我以为Delphi(自2007年以来)已经内置了对动画GIF的支持。

当我在窗体上放置TImage控件时,一切都很好,直到我将Picture属性设置为一个动画GIF文件。当我这样做时,IDE会自动将以下内容添加到我的uses子句中:

uses ... , Vcl.Imaging.GIFImg, GIFImage;

此时,集成开发环境和编译器会提示无法找到GIFImage.dcu文件。

[dcc32 Fatal Error] pco.pas(7): F1026 File not found: 'GIFImage.dcu'

我在系统中搜索,但无法找到任何GIFImage.dcu文件。RAD Studio文件夹中有一些TGIFImage文件——例如.bpl、.bpi、.dcp、.lib以及两个.hpp文件——一个用于TGIFImage和GIFImage。
如果我从Finn的网站(http://www.tolderlund.eu/delphi/)下载GIFImage文件,并将GIFImage.pas文件放入我的项目中,则情况得到解决。
但是根据这篇文章(How to use Animated Gif in a delphi form),GIFImage现在已内置于Delphi中,因此我认为不应该这样做......那么我错过了什么?谢谢。

这肯定是我自己关于XE2提出的一个完全重复的问题... - Jerry Dodge
1
@Jerry 不要害羞。链接到问题。 - David Heffernan
可能是重复问题?https://dev59.com/6Woy5IYBdhLWcg3wD57H - Jerry Dodge
@Jerry - 对我来说,那似乎是一个不同的问题。在我的研究中出现的唯一帖子是我引用链接的那个。还有一个帖子被关闭,可能是我引用链接的那个副本。 - jmroyalty
不是找不到完全相同的单元,而是出现了完全相同的原因。 - Jerry Dodge
实际上,不,我撤回之前的说法,这部分是问题所在,但由于GIFImage.pas已被替换为Vcl.Imaging.GIFImg.pas,所以有点不同。 - Jerry Dodge
1个回答

11

在XE3中,该单元的名称是Vcl.Imaging.GIFImgTGIFImage类在该单元中定义。

在XE3中没有GIFImage单元。只需删除对该单元的所有引用即可。

我猜这个单元在某个时候被重命名了。可能是当Embarcadero接手并将其纳入Delphi时。

如果我从Finn的网站http://www.tolderlund.eu/delphi/下载GIFImage的内容,然后将GIFImage.pas文件放入我的项目中,情况就解决了。

不要这样做。删除那些文件。如果你选择这条路,你将拥有两个相同的GIF代码版本。


感谢您的回复。这就是我认为它应该工作的方式,但事实并非如此。如果我删除可疑的TImage并删除对Vcl.Imaging.GIFImg和GIFImage的引用 - 然后保存文件,一切都很好。只要我重新添加TImage并填充Picture属性,IDE就会自动将这两个单元添加到uses子句中。让我在新项目中尝试一下,看看问题是否仍然存在。现在,我想知道这里是否存在某些配置问题。 - jmroyalty
好的,我刚刚关闭了所有的东西,开始一个新项目 - 放置了一个 TImage(窗体上唯一的元素)- 将 Picture 属性设置为一个动画 GIF - 几乎是相同的结果,它添加了 GIFImage 到 uses 子句,但是它没有添加 Vcl.Imaging.GIFImg 单元。 - jmroyalty
2
你需要移除安装的那个破坏了你的Delphi的包。一个原始的、纯净的Delphi XE3不会这样做。 - David Heffernan
好的,这很容易。我上周刚安装了它,并且只是在摸索,所以我会卸载/重新安装。谢谢。 - jmroyalty
只是为了澄清这个问题。这一定是一个损坏的安装 - 我刚刚卸载然后重新安装了XE3,现在它按照@Heffernan所说的方式工作。回想起来,我很确定当我试图将TGIFImage代码作为组件“安装”时,事情变得混乱了 - 所以,请不要这样做。再次感谢确认它应该可以工作 - 而且确实可以。 - jmroyalty

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接