Instalación de PicShow en Delphi XE

El componente PicShow de DelphiArea requiere modificaciones para compilarse correctamente en Delphi XE y XE2. El proceso consiste en actualizar las directivas de compilación del archivo DelphiArea.inc, modernizar las cláusulas uses de las unidades principales e instalar el componente mediante un paquete nuevo.

1. Actualizar DelphiArea.inc

El archivo de configuración debe declarar los símbolos de las versiones recientes y luego desactivar los que no correspondan según la constante VERxxx detectada:

{ Opciones del compilador }
{$B-} {$R-} {$Q-} {$V-} {$T-} {$X+} {$P+} {$O+}
{$IFDEF WIN32} {$H+} {$ENDIF}

{ Partimos asumiendo soporte para versiones modernas }
{$DEFINE COMPILERXE2_UP}
{$DEFINE COMPILERXE_UP}
{$DEFINE COMPILER2010_UP}
{$DEFINE COMPILER2009_UP}
{$DEFINE COMPILER2007_UP}
{$DEFINE COMPILER2006_UP}
{$DEFINE COMPILER2005_UP}
{$DEFINE COMPILER7_UP}
{$DEFINE COMPILER6_UP}
{$DEFINE COMPILER5_UP}
{$DEFINE COMPILER4_UP}

{ Delphi XE }
{$IFDEF VER220}
  {$UNDEF COMPILERXE2_UP}
{$ENDIF}

{ Delphi 2010 }
{$IFDEF VER210}
  {$UNDEF COMPILERXE2_UP}
  {$UNDEF COMPILERXE_UP}
{$ENDIF}

{ Delphi 2009 }
{$IFDEF VER200}
  {$UNDEF COMPILERXE2_UP}
  {$UNDEF COMPILERXE_UP}
  {$UNDEF COMPILER2010_UP}
{$ENDIF}

{ Versiones anteriores: desactivar los símbolos correspondientes }
{$IFDEF VER185}           // Delphi 2007
  {$UNDEF COMPILERXE2_UP}
  {$UNDEF COMPILERXE_UP}
  {$UNDEF COMPILER2010_UP}
  {$UNDEF COMPILER2009_UP}
{$ENDIF}

{$IFDEF VER180}           // Delphi 2006
  {$UNDEF COMPILERXE2_UP}
  {$UNDEF COMPILERXE_UP}
  {$UNDEF COMPILER2010_UP}
  {$UNDEF COMPILER2009_UP}
  {$UNDEF COMPILER2007_UP}
{$ENDIF}

{$IFDEF VER170}           // Delphi 2005
  {$UNDEF COMPILERXE2_UP}
  {$UNDEF COMPILERXE_UP}
  {$UNDEF COMPILER2010_UP}
  {$UNDEF COMPILER2009_UP}
  {$UNDEF COMPILER2007_UP}
  {$UNDEF COMPILER2006_UP}
{$ENDIF}

{$IFDEF VER150}           // Delphi 7
  {$UNDEF COMPILERXE2_UP}
  {$UNDEF COMPILERXE_UP}
  {$UNDEF COMPILER2010_UP}
  {$UNDEF COMPILER2009_UP}
  {$UNDEF COMPILER2007_UP}
  {$UNDEF COMPILER2006_UP}
  {$UNDEF COMPILER2005_UP}
{$ENDIF}

Es posible eliminar las definiciones de versiones muy antiguas si el componente solo se va a usar en Delphi 7 o superior, lo que simplifica el mantenimiento del archivo.

2. Modernizar las cláusulas uses

Delphi XE introduce namespace para las unidades de la VCL. Los archivos PicShow.pas, PSEffect.pas y PSReg.pas deben actualizarse de forma similar a los sigiuentes ejemplos:

PicShow.pas

uses
  Winapi.Windows, Winapi.Messages,
  System.SysUtils, System.Classes,
  Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
  Vcl.Menus, Data.DB, Vcl.DBCtrls,
  PSEffect;

implementation

uses
  {$IFDEF GRAPHICEX} GraphicEx, {$ENDIF}
  {$IFDEF COMPILER6_UP} System.Types, {$ENDIF}
  {$IFDEF COMPILER2009_UP} Vcl.Imaging.PngImage, {$ENDIF}
  Vcl.Imaging.JPEG,
  Winapi.MMSystem;

PSEffect.pas

uses
  Winapi.Windows,
  System.SysUtils,
  System.Classes,
  Vcl.Graphics;

implementation

uses
  {$IFDEF COMPILER6_UP} System.Types, {$ENDIF}
  System.Math;

PSReg.pas

uses
  Winapi.Windows,
  System.Classes;

3. Crear e instalar el paquete

Para registrar los componentes en el IDE:

  1. Abre Component > Install Component.
  2. En Unit file name selecciona PSReg.pas.
  3. Elige Install into a new package y pulsa Next.
  4. Asigna un nombre al paquete, por ejemplo DelphiArea, y una descripción.
  5. Selecciona Visual Component Libray como framework.
  6. Añade DesignIDE.dcp en la sección Requires del paquete.
  7. Compila e instala el paquete.

Al finalizar, los componentes de PicShow estarán disponibles en la paleta de componentes del IDE.

Etiquetas: DelphiXE VCL PicShow PaquetesDelphi DirectivasCompilador

Publicado el 7-21 03:08