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
[-]
{$DEFINE MENU}
{$IFDEF WIN32}
{$DEFINE LA_PLATAFORMA_ES_WINDOWS_32}
{$ENDIF}
{$IFDEF VER280}
{$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
public
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