Ver la Versión Completa : Inquietud {$ifdef} and {$define}
Soa Pelaez
10-12-2015, 01:51:57
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 Notevi
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:
{ 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 (http://docwiki.embarcadero.com/RADStudio/XE7/en/Compiler_Versions)
Ahora cada vez que requieras estas directivas en tus unidades debes incluir este archivo .INC
Para ello haz lo siguiente:
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
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.