92 lines
1.6 KiB
ObjectPascal
92 lines
1.6 KiB
ObjectPascal
program testNoGUI;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
uses
|
|
{$IFDEF UNIX}
|
|
cthreads,
|
|
{$ENDIF}
|
|
Classes, SysUtils, CustApp,
|
|
Interfaces,
|
|
frxClass,frxExportPDF, frxExportODF, frxExportHTML,
|
|
frxExportHTMLDiv, noguiFRDM
|
|
{ you can add units after this };
|
|
|
|
type
|
|
|
|
{ TMyApplication }
|
|
|
|
TMyApplication = class(TCustomApplication)
|
|
protected
|
|
procedure DoRun; override;
|
|
public
|
|
constructor Create(TheOwner: TComponent); override;
|
|
destructor Destroy; override;
|
|
procedure WriteHelp; virtual;
|
|
end;
|
|
|
|
{ TMyApplication }
|
|
|
|
procedure TMyApplication.DoRun;
|
|
var
|
|
ErrorMsg: String;
|
|
begin
|
|
// quick check parameters
|
|
|
|
ErrorMsg:=CheckOptions('h', 'help');
|
|
if ErrorMsg<>'' then begin
|
|
ShowException(Exception.Create(ErrorMsg));
|
|
Terminate;
|
|
Exit;
|
|
end;
|
|
|
|
// parse parameters
|
|
if HasOption('h', 'help') then begin
|
|
WriteHelp;
|
|
Terminate;
|
|
Exit;
|
|
end;
|
|
writeln('Started');
|
|
readln;
|
|
DataModule1 := TDataModule1.Create(self);
|
|
try
|
|
writeln('DM Created');
|
|
DataModule1.MakeReport('test.pdf');
|
|
writeln('Export Complete');
|
|
readln;
|
|
{ add your program here }
|
|
finally
|
|
DataModule1.Free;
|
|
end;
|
|
|
|
// stop program loop
|
|
Terminate;
|
|
end;
|
|
|
|
constructor TMyApplication.Create(TheOwner: TComponent);
|
|
begin
|
|
inherited Create(TheOwner);
|
|
StopOnException:=True;
|
|
end;
|
|
|
|
destructor TMyApplication.Destroy;
|
|
begin
|
|
inherited Destroy;
|
|
end;
|
|
|
|
procedure TMyApplication.WriteHelp;
|
|
begin
|
|
{ add your help code here }
|
|
writeln('Usage: ', ExeName, ' -h');
|
|
end;
|
|
|
|
var
|
|
Application: TMyApplication;
|
|
begin
|
|
Application:=TMyApplication.Create(nil);
|
|
Application.Title:='My Application';
|
|
Application.Run;
|
|
Application.Free;
|
|
end.
|
|
|