Einzelnen Beitrag anzeigen

neo4a

Registriert seit: 22. Jan 2007
Ort: Ingolstadt
362 Beiträge
 
Delphi XE2 Architect
 
#42

AW: FireMonkey Sammelthread

  Alt 2. Sep 2011, 14:28
Ich habe die Formulare per DI mit Emballo eingebunden. So sieht die dpr aus:

Delphi-Quellcode:
program VCL_BaseApp;

uses
  Vcl.Forms,
  Emballo.DI.Registry,
  Emballo.DI.Core,
  VCLMainForm in 'VCLMainForm.pas{MainForm},
  VCLForm2 in 'VCLForm2.pas{Form2},
  MainUnit in 'C:\DXE2\Samples\Delphi\VCL\FlowPanel\MainUnit.pas{VCLFlowPanel},
  Service in 'Service.pas',
  FMXMainForm in 'S:\FMX_BaseApp\FMXMainForm.pas{FMXForm1},
  FMXFireFlow in 'FMX\FMXFireFlow.pas{FMXFireFlow};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TMainForm, MainForm);
  RegisterFactory(IForm2, TForm2).Done;
  RegisterFactory(IFMXForm1, TFMXForm1).Done;
  RegisterFactory(IVCLFlowPanel, TVCLFlowPanel).Done;
  RegisterFactory(IFMXFireFlow, TFMXFireFlow).Done;
  Application.Run;
end.
Und so das Hauptformular, das die Formulare per Interface einbindet.
Delphi-Quellcode:
unit VCLMainForm;

interface

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

  Service;

type
  TMainForm = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  MainForm: TMainForm;

implementation

{$R *.dfm}

procedure TMainForm.Button1Click(Sender: TObject);
begin
  DI_Form2.ShowMe;
end;

procedure TMainForm.Button2Click(Sender: TObject);
begin
  DI_FMXForm1.ShowMe;
end;

procedure TMainForm.Button3Click(Sender: TObject);
begin
  DI_VCLFlowPanel.ShowMe;
end;

procedure TMainForm.Button4Click(Sender: TObject);
begin
  DI_FMXFireFlow.ShowMe;
end;

end.
Edit: Ist die Anwendung VCL-basierend, kann man FastReport.VCL zusammen mit FMX-Forms benutzen. Ist die App aber FMX-basierend, kompiliert FastReport nicht, da die Unit-Referenzen nicht passen.
Miniaturansicht angehängter Grafiken
fmxdemo.jpg  
Angehängte Dateien
Dateityp: rar VCL_BaseApp.rar (1,45 MB, 32x aufgerufen)
Andreas

Geändert von neo4a ( 2. Sep 2011 um 15:19 Uhr) Grund: FastReport
  Mit Zitat antworten Zitat