Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Inquietud {$ifdef} and {$define} (https://www.clubdelphi.com/foros/showthread.php?t=89543)

Soa Pelaez 10-12-2015 01:51:57

Inquietud {$ifdef} and {$define}
 
1 Archivos Adjunto(s)
Estoy tratando de realizar uses con directivas, pero aun no logro que funcione, alguien podría colaborarme lo estoy intentando realizar de esta manera.

Casimiro Noteví 10-12-2015 10:07:08

¿Está dañado ese archivo?

Ñuño Martínez 10-12-2015 11:40:30

Debe estarlo, porque cuando lo abro no tiene ningún contenido. :confused:

cloayza 10-12-2015 14:33:58

A ver intenta de esta forma:

Primero: Debes crear un archivo que incluyas en tus unidades, y que este contenga todas las directivas de compilación que requiere tu proyecto.

Contenido de archivo a incluir en unidades

MIS_DEFINES.INC:
Código Delphi [-]
{ Directivas Condicionales de Compilación que afectaran mi programa}
{$DEFINE MENU}

{Puedes definir algunas directivas a partir de otras ya definidas}
{$IFDEF WIN32}
    {$DEFINE LA_PLATAFORMA_ES_WINDOWS_32}
{$ENDIF}

{Existen directivas que te indican la versión de Delphi que estas usando para compilar}
{$IFDEF VER280} { Borland Delphi XE7 21.x }
   {$DEFINE VERSION_DE_DELPHI_XE7
{$ENDIF}

Mas información sobre Directivas de versión de Delphi

Ahora cada vez que requieras estas directivas en tus unidades debes incluir este archivo .INC

Para ello haz lo siguiente:
Código Delphi [-]
unit Forma2;

{$I MIS_DEFINES.INC}

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Buttons;

type
  TDForm2 = class(TForm)
    SpeedButton1: TSpeedButton;
    procedure SpeedButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  DForm2: TDForm2;

implementation

{$R *.dfm}

uses Forma3
{$IFDEF MENU}
 ,Forma1;

{$ELSE}
;
{$ENDIF}


procedure TDForm2.SpeedButton1Click(Sender: TObject);
begin
  {$IFDEF MENU}
  Forma1 := tforma1.Create(Self);
  Forma1.ShowModal;
  Forma1.Free;
  {$ELSE}
  MessageDlg('OTRO MODULO', mtInformation, [mbOK], 0);
  {$ENDIF}
end;
end.

Saludos cordiales


La franja horaria es GMT +2. Ahora son las 05:38:00.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi