mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-15 06:29:28 +02:00

- move examples from JPeg4Lazarus to common examples dir - remove JPeg4Lazarus package git-svn-id: trunk@13192 -
116 lines
3.5 KiB
ObjectPascal
116 lines
3.5 KiB
ObjectPascal
{ $Id$ }
|
|
{
|
|
/***************************************************************************
|
|
Lazarus.pp
|
|
-------------------
|
|
This is the lazarus editor program.
|
|
|
|
Initial Revision : Sun Mar 28 23:15:32 CST 1999
|
|
|
|
|
|
***************************************************************************/
|
|
|
|
***************************************************************************
|
|
* *
|
|
* This source is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
* This code is distributed in the hope that it will be useful, but *
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
|
|
* General Public License for more details. *
|
|
* *
|
|
* A copy of the GNU General Public License is available on the World *
|
|
* Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
|
|
* obtain it by writing to the Free Software Foundation, *
|
|
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
|
* *
|
|
***************************************************************************
|
|
}
|
|
|
|
program Lazarus;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
{$I ide.inc}
|
|
|
|
{$IFDEF WINDOWS}
|
|
{$R lazarus.rc}
|
|
{$ENDIF}
|
|
|
|
{off $DEFINE IDE_MEM_CHECK}
|
|
|
|
uses
|
|
//cmem,
|
|
{$IFDEF UNIX}{$IFDEF UseCThreads}
|
|
cthreads,
|
|
{$ENDIF}{$ENDIF}
|
|
{$IFDEF IDE_MEM_CHECK}
|
|
MemCheck,
|
|
{$ENDIF}
|
|
Interfaces,
|
|
Forms, LCLProc,
|
|
Splash,
|
|
Main,
|
|
AboutFrm,
|
|
// use the custom IDE static packages AFTER 'main'
|
|
{$IFDEF AddStaticPkgs}
|
|
{$I staticpackages.inc}
|
|
{$ENDIF}
|
|
{$IFDEF BigIDE}
|
|
RunTimeTypeInfoControls, Printer4Lazarus, Printers4LazIDE,
|
|
CGILaz, CGILazIDE,
|
|
MemDSLaz, SDFLaz, TurboPowerIPro,
|
|
FPCUnitTestRunner, FPCUnitIDE, ProjTemplates, TAChartLazarusPkg,
|
|
{$IFDEF windows}
|
|
SQLDBLaz, DBFLaz,
|
|
{$ENDIF}
|
|
{$IFDEF Linux}
|
|
SQLDBLaz, DBFLaz,
|
|
{$ENDIF}
|
|
{$ENDIF}
|
|
MainBase;
|
|
|
|
{$I revision.inc}
|
|
|
|
begin
|
|
{$IFDEF IDE_MEM_CHECK}CheckHeapWrtMemCnt('lazarus.pp: begin');{$ENDIF}
|
|
LazarusRevisionStr:=RevisionStr;
|
|
Application.Title:='Lazarus';
|
|
Application.Initialize;
|
|
TMainIDE.ParseCmdLineOptions;
|
|
if Application.Terminated then exit;
|
|
|
|
// Show splashform
|
|
if ShowSplashScreen then begin
|
|
SplashForm := TSplashForm.Create(nil);
|
|
SplashForm.Show;
|
|
Application.ProcessMessages; // process splash paint message
|
|
end;
|
|
|
|
MainIDE:=TMainIDE.Create(Application);
|
|
MainIDE.CreateOftenUsedForms;
|
|
MainIDE.StartIDE;
|
|
{$IFDEF IDE_MEM_CHECK}CheckHeapWrtMemCnt('lazarus.pp: TMainIDE created');{$ENDIF}
|
|
|
|
try
|
|
Application.Run;
|
|
except
|
|
debugln('lazarus.pp - unhandled exception');
|
|
Halt;
|
|
end;
|
|
if (SplashForm<>nil) then begin
|
|
SplashForm.Free;
|
|
SplashForm:=nil;
|
|
end;
|
|
|
|
debugln('LAZARUS END - cleaning up ...');
|
|
|
|
// free the IDE, so everything is freed before the finalization sections
|
|
MainIDE.Free;
|
|
MainIDE:=nil;
|
|
end.
|
|
|