Application

Application

🌍 Language: English | Español

Top-level entry point for DAFce applications. TDafApplication wraps the generic Hosting pipeline and adds application-level lifecycle helpers, version metadata, and a global singleton accessor.

Delphi 12+ License


Quick Start

program MyApp;

uses
  Daf.Application.Builder;

begin
  TDafApplication
    .CreateHostBuilder(ParamStr(0))
    .ConfigureServices(
      procedure(Services: IServiceCollection)
      begin
        Services.AddTransient<IMyService, TMyService>;
      end)
    .Build
    .Run;
end.

Subclass pattern

Override Execute to write imperative startup logic:

type
  TMyApp = class(TDafApplication)
  protected
    procedure Execute; override;
  end;

procedure TMyApp.Execute;
begin
  Logger.LogInformation('App running, version {V}', [VersionInfo.Tag]);
  // … long-running work or RunAsync
end;

Version information

Each application carries a TVersionInfo record populated at compile time:

var V := TDafApplication.App.VersionInfo;
// V.Major, V.Minor, V.Patch, V.PreRelease, V.Tag
// V.ArchBits (32 / 64), V.Platform, V.Debug (bool)
// V.VersionTag(WithCompiledMeta) → full semver string

Global singleton

TDafApplication.App  // class property — available after Build

Runtime services

var App := TDafApplication.App;
App.Services       // IServiceProvider
App.Environment    // IHostEnvironment
App.Configuration  // IConfiguration
App.Host           // IHost

Documentation

  • 📖 Usage Guide — builder API, lifecycle, version metadata, hosting integration