标签: graphicex

自定义组件依赖地狱

我正在尝试为我制作的自定义组件制作一个包.它基于几个库,包括Graphics32,GraphicEx和CCR.Exif.

我创建了一个Package项目,编写了包含其Register寄存程序的单元,添加了一些额外的引用,Delphi通知我有关requires部分(包括dbrtl.dcp,inet.dcp,soaprtl.dcp,vclimg.dcp,xmlrtl.dcp和dclGraphicEx140). dcp)并在contains部分添加了许多单元,以避免隐式发生有关它的警告.该项目编译并可以在我自己的机器上安装和使用而不会出现问题.但是,当我想在另一台机器上安装它时,麻烦就开始了.最后,我不得不复制我使用的所有第三方组件的所有DCU,以及来自GraphicEx的DCP和BPL,我必须安装它.

提供大量文件是一个无赖,但可以克服,但不得不安装其他软件包是不行的.我可以通过在包含部分中放置更多单元来摆脱DCP和BPL ,但这导致我自己的机器上实际安装了GraphicEx的错误消息.这对我来说很困惑,因为有了Graphics32就不会发生这样的事了......

无论如何,我如何将我的分配保持在最低限度并避免这种情况?我希望我团队中的其他开发人员能够使用该软件包,而不必担心我用它来构建它.首先,不能将所有第三方单元编译到我自己的DCU中吗?

delphi delphi-2010 custom-component graphicex

10
推荐指数
1
解决办法
1627
查看次数

如何调整任何类型的图像?

我的项目的目标是在Delphi 6中调整任何类型的图像(jpeg/gif/png).

我尝试了很多方法,但我无法得到理想的解决方案.任何有关如何做到这一点的线索?它可以是一个简单的命令行工具,一些代码或Delphi组件.

我试过imagemagick:那太重了:20兆me + dll +注册表.

我尝试了一些代码片段,但大部分内容仅适用于JPEG.我需要gif/jpeg/png

我试过了graphicEX但是没有加载我的GIF

delphi delphi-6 graphicex

3
推荐指数
1
解决办法
3176
查看次数

迁移到Delphi 2009 - 无效的Typecast错误

我正在将GraphicEx项目转换为Delphi 2009.

我在单位Scanf_c.pas中转换以下程序时遇到问题.这是问题所在:

  With TscRec(FType) do begin
Run Code Online (Sandbox Code Playgroud)

FType是一个整数,定义了TscRec:

  TscRec = packed record  // Has size of an integer
      Case byte of
        0: ( Typ : byte; Size : char; Flags : word;);
        1: ( SizeType : word; iFlags : smallInt;);
      end;
Run Code Online (Sandbox Code Playgroud)

看来这段代码在delphi 2007中运行良好,但我在Delphi 2009中编译时遇到了问题.编译错误是"Invalid Typecase".问题是因为类型转换FType是整数到TScRec这是一个记录.

有人在这里与Delphi 2009有同样的问题,并有一个解决方案.

谢谢

delphi delphi-2009 graphicex

2
推荐指数
1
解决办法
1035
查看次数

如何更正GraphicEx InChunk()函数?

我正在尝试将GraphicEx组件库(用于PNG文件)从我的Delphi 2006移植到XE3(最后得到它),在纠正基本错误时,我遇到了这个错误:

"TPNGGraphic.IsChunk" invalid type cast
Run Code Online (Sandbox Code Playgroud)

在线:

function TPNGGraphic.IsChunk(ChunkType: TChunkType): Boolean;

// determines, independant of the cruxial 5ths bits in each "letter", whether the
// current chunk type in the header is the same as the given chunk type

const
  Mask = not $20202020;

begin
  Result := (Cardinal(FHeader.ChunkType) and Mask) = (Cardinal(ChunkType) and Mask); // <-- this line
end;
Run Code Online (Sandbox Code Playgroud)

有谁知道我该怎么做才能纠正它?

delphi png image delphi-xe3 graphicex

0
推荐指数
1
解决办法
562
查看次数