X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Feditor%2FEditor.lpr;h=e5d615625dc332d9094a59823bba66049db33924;hb=67cddfbb3e682ca99f9b9a2e98e87332bd5c30be;hp=71f5906bf6784736fa889e0cb245e44726b9d4a2;hpb=3dc2fe6b3d29cd54425db8f590e922f2dce50e99;p=d2df-editor.git diff --git a/src/editor/Editor.lpr b/src/editor/Editor.lpr index 71f5906..e5d6156 100644 --- a/src/editor/Editor.lpr +++ b/src/editor/Editor.lpr @@ -3,8 +3,8 @@ program Editor; {$INCLUDE ../shared/a_modes.inc} uses - Forms, Interfaces, - GL, GLExt, + Forms, Interfaces, Dialogs, + GL, GLExt, SysUtils, e_graphics in '../engine/e_graphics.pas', e_log in '../engine/e_log.pas', e_textures in '../engine/e_textures.pas', @@ -15,6 +15,12 @@ uses WADEDITOR in '../shared/WADEDITOR.pas', WADSTRUCT in '../shared/WADSTRUCT.pas', CONFIG in '../shared/CONFIG.pas', + xstreams in '../shared/xstreams.pas', + dfzip in '../shared/dfzip.pas', + sfs in '../sfs/sfs.pas', + sfsPlainFS in '../sfs/sfsPlainFS.pas', + sfsZipFS in '../sfs/sfsZipFS.pas', + f_about in 'f_about.pas' {AboutForm}, f_options in 'f_options.pas' {OptionsForm}, f_main in 'f_main.pas' {MainForm}, @@ -49,10 +55,29 @@ uses g_language in 'g_language.pas', f_selectlang in 'f_selectlang.pas' {SelectLanguageForm}; -{$R *.res} +{$IFDEF WINDOWS} + {$R *.res} +{$ENDIF} + + type + THandlerObject = class (TObject) + procedure ExceptionHandler (Sender: TObject; e: Exception); + end; + + var + H: THandlerObject; + + procedure THandlerObject.ExceptionHandler (Sender: TObject; e: Exception); + begin + e_WriteStackTrace(e.message); + MessageDlg('Unhandled exception: ' + e.message + ' (see Editor.log for more information)', mtError, [mbOK], 0); + end; begin - Application.Initialize; + Application.ExceptionDialog := aedOkMessageBox; + Application.AddOnExceptionHandler(H.ExceptionHandler, True); + Application.Initialize(); + Application.CreateForm(TMainForm, MainForm); Application.CreateForm(TOptionsForm, OptionsForm); Application.CreateForm(TAboutForm, AboutForm); @@ -72,7 +97,7 @@ begin Application.CreateForm(TMapTestForm, MapTestForm); Application.CreateForm(TChooseTypeForm, ChooseTypeForm); Application.CreateForm(TSelectLanguageForm, SelectLanguageForm); - if ParamStr(1) <> '' then OpenMap(ParamStr(1), ''); - Application.Run; + if ParamStr(1) <> '' then OpenMap(ParamStr(1), ''); + Application.Run(); end.