IDE: check for R directive and skip updating lrs file

git-svn-id: trunk@22855 -
This commit is contained in:
mattias 2009-11-28 22:07:39 +00:00
parent 55b9380fff
commit 1cc866061d
7 changed files with 776 additions and 442 deletions

View File

@ -43,8 +43,8 @@ uses
LazIDEIntf, LazIDEIntf,
// IDE // IDE
LazarusIDEStrConsts, DialogProcs, IDEProcs, CodeToolsOptions, InputHistory, LazarusIDEStrConsts, DialogProcs, IDEProcs, CodeToolsOptions, InputHistory,
MiscOptions, LazConf, EnvironmentOpts, TransferMacros, CompilerOptions, ProjectResources, MiscOptions, LazConf, EnvironmentOpts, TransferMacros,
OutputFilter, Compiler, Project, BaseBuildManager; CompilerOptions, OutputFilter, Compiler, Project, BaseBuildManager;
type type
@ -145,6 +145,7 @@ type
): TModalResult; override; ): TModalResult; override;
function BackupFile(const Filename: string): TModalResult; override; function BackupFile(const Filename: string): TModalResult; override;
function GetLFMResourceType(AnUnitInfo: TUnitInfo): TLFMResourceType;
function FindLRSFilename(AnUnitInfo: TUnitInfo; function FindLRSFilename(AnUnitInfo: TUnitInfo;
UseDefaultIfNotFound: boolean): string; UseDefaultIfNotFound: boolean): string;
function GetDefaultLRSFilename(AnUnitInfo: TUnitInfo): string; function GetDefaultLRSFilename(AnUnitInfo: TUnitInfo): string;
@ -1025,6 +1026,21 @@ begin
until Result<>mrRetry; until Result<>mrRetry;
end; end;
function TBuildManager.GetLFMResourceType(AnUnitInfo: TUnitInfo
): TLFMResourceType;
begin
if AnUnitInfo.Source=nil then
AnUnitInfo.Source:=CodeToolBoss.LoadFile(AnUnitInfo.Filename,true,false);
if (AnUnitInfo.Source<>nil)
and GuessLFMResourceType(AnUnitInfo.Source,Result) then begin
// guessed from source
end else if AnUnitInfo.IsPartOfProject then begin
// use project resource type
Result:=Project1.Resources.LFMResourceType;
end else
Result:=lfmrtLRS;
end;
function TBuildManager.FindLRSFilename(AnUnitInfo: TUnitInfo; function TBuildManager.FindLRSFilename(AnUnitInfo: TUnitInfo;
UseDefaultIfNotFound: boolean): string; UseDefaultIfNotFound: boolean): string;
begin begin
@ -1094,8 +1110,8 @@ begin
AnUnitInfo := Project1.FirstPartOfProject; AnUnitInfo := Project1.FirstPartOfProject;
while AnUnitInfo<>nil do while AnUnitInfo<>nil do
begin begin
if AnUnitInfo.HasResources then if AnUnitInfo.HasResources and (Project1.Resources.LFMResourceType=lfmrtLRS)
begin and (GetLFMResourceType(AnUnitInfo)=lfmrtLRS) then begin
Result := UpdateLRSFromLFM(AnUnitInfo,false); Result := UpdateLRSFromLFM(AnUnitInfo,false);
if Result = mrIgnore then Result:=mrOk; if Result = mrIgnore then Result:=mrOk;
if Result <> mrOk then exit; if Result <> mrOk then exit;

View File

@ -692,6 +692,9 @@ resourcestring
lisInfoBuildWarning = 'Warnings:'; lisInfoBuildWarning = 'Warnings:';
lisInfoBuildBuild = 'Build'; lisInfoBuildBuild = 'Build';
lisInfoBuildComplile = 'Compiling...'; lisInfoBuildComplile = 'Compiling...';
lisFPCTooOld = 'FPC too old';
lisTheProjectUsesTheNewFPCResourcesWhichRequiresAtLea = 'The project uses '
+'the new FPC resources, which requires at least FPC 2.4';
lisInfoBuildError = 'Error...'; lisInfoBuildError = 'Error...';
lisCreateDirectory = 'Create directory?'; lisCreateDirectory = 'Create directory?';
lisTheOutputDirectoryIsMissing = 'The output directory %s%s%s is missing.'; lisTheOutputDirectoryIsMissing = 'The output directory %s%s%s is missing.';
@ -4387,6 +4390,13 @@ resourcestring
rsCreatingSymLinkFailed = 'Creating symbolic link "%s" failed!'; rsCreatingSymLinkFailed = 'Creating symbolic link "%s" failed!';
rsCreatingSymLinkNotSupported = 'Creating symbolic link is not supported on this platform!'; rsCreatingSymLinkNotSupported = 'Creating symbolic link is not supported on this platform!';
lisPutLrsFilesInOutputDirectory = 'Save .lrs files in the output directory'; lisPutLrsFilesInOutputDirectory = 'Save .lrs files in the output directory';
lisLFMResourceType = 'LFM resource type';
lisLrsIncludeFiles = 'lrs include files';
lisAutomaticallyConvertLfmFilesToLrsIncludeFiles = 'Automatically convert .'
+'lfm files to .lrs include files';
lisFPCResources = 'FPC resources';
lisRequiresFPC24OrAboveLikeDelphiResources = 'Requires FPC 2.4 or above. '
+'Like Delphi resources';
dlgCOCreateNodeAbove = 'Create node above'; dlgCOCreateNodeAbove = 'Create node above';
dlgCOCreateNodeBelow = 'Create node below'; dlgCOCreateNodeBelow = 'Create node below';
dlgCOCreateChildNode = 'Create child node'; dlgCOCreateChildNode = 'Create child node';

View File

@ -80,7 +80,7 @@ uses
Compiler, CompilerOptions, CompilerOptionsDlg, CheckCompilerOpts, Compiler, CompilerOptions, CompilerOptionsDlg, CheckCompilerOpts,
ApplicationBundle, ImExportCompilerOpts, InfoBuild, ApplicationBundle, ImExportCompilerOpts, InfoBuild,
// projects // projects
Project, ProjectDefs, NewProjectDlg, ProjectOpts, ProjectResources, Project, ProjectDefs, NewProjectDlg, ProjectOpts,
PublishProjectDlg, ProjectInspector, PackageDefs, PublishProjectDlg, ProjectInspector, PackageDefs,
// help manager // help manager
IDEContextHelpEdit, IDEHelpIntf, HelpManager, CodeHelp, HelpOptions, IDEContextHelpEdit, IDEHelpIntf, HelpManager, CodeHelp, HelpOptions,
@ -4430,24 +4430,32 @@ function TMainIDE.DoLoadResourceFile(AnUnitInfo: TUnitInfo;
var var
LFMFilename: string; LFMFilename: string;
LRSFilename: String; LRSFilename: String;
ResType: TLFMResourceType;
begin begin
LFMCode:=nil; LFMCode:=nil;
ResourceCode:=nil; ResourceCode:=nil;
//DebugLn(['TMainIDE.DoLoadResourceFile ',AnUnitInfo.Filename,' HasResources=',AnUnitInfo.HasResources,' IgnoreSourceErrors=',IgnoreSourceErrors,' AutoCreateResourceCode=',AutoCreateResourceCode]); //DebugLn(['TMainIDE.DoLoadResourceFile ',AnUnitInfo.Filename,' HasResources=',AnUnitInfo.HasResources,' IgnoreSourceErrors=',IgnoreSourceErrors,' AutoCreateResourceCode=',AutoCreateResourceCode]);
if AnUnitInfo.HasResources then begin if AnUnitInfo.HasResources then begin
//writeln('TMainIDE.DoLoadResourceFile A "',AnUnitInfo.Filename,'" "',AnUnitInfo.ResourceFileName,'"'); //writeln('TMainIDE.DoLoadResourceFile A "',AnUnitInfo.Filename,'" "',AnUnitInfo.ResourceFileName,'"');
LRSFilename:=MainBuildBoss.FindLRSFilename(AnUnitInfo,false);
if LRSFilename<>'' then begin ResType:=MainBuildBoss.GetLFMResourceType(AnUnitInfo);
Result:=LoadCodeBuffer(ResourceCode,LRSFilename,[lbfUpdateFromDisk],ShowAbort); if ResType=lfmrtLRS then begin
if Result<>mrOk then exit; LRSFilename:=MainBuildBoss.FindLRSFilename(AnUnitInfo,false);
end else begin if LRSFilename<>'' then begin
LRSFilename:=MainBuildBoss.GetDefaultLRSFilename(AnUnitInfo); Result:=LoadCodeBuffer(ResourceCode,LRSFilename,[lbfUpdateFromDisk],ShowAbort);
if AutoCreateResourceCode then begin if Result<>mrOk then exit;
ResourceCode:=CodeToolBoss.CreateFile(LRSFilename);
end else begin end else begin
DebugLn(['TMainIDE.DoLoadResourceFile .lrs file not found of unit ',AnUnitInfo.Filename]); LRSFilename:=MainBuildBoss.GetDefaultLRSFilename(AnUnitInfo);
exit(mrCancel); if AutoCreateResourceCode then begin
ResourceCode:=CodeToolBoss.CreateFile(LRSFilename);
end else begin
DebugLn(['TMainIDE.DoLoadResourceFile .lrs file not found of unit ',AnUnitInfo.Filename]);
exit(mrCancel);
end;
end; end;
end else begin
LRSFilename:='';
ResourceCode:=nil;
end; end;
// if no resource file found (i.e. normally the .lrs file) // if no resource file found (i.e. normally the .lrs file)
@ -4769,6 +4777,7 @@ var
i: Integer; i: Integer;
LRSFilename: String; LRSFilename: String;
PropPath: String; PropPath: String;
ResType: TLFMResourceType;
begin begin
Result:=mrCancel; Result:=mrCancel;
@ -4784,6 +4793,8 @@ begin
// LRT file format (in present) are lines // LRT file format (in present) are lines
// <ClassName>.<PropertyName>=<PropertyValue> // <ClassName>.<PropertyName>=<PropertyValue>
LRSFilename:=''; LRSFilename:='';
ResType:=MainBuildBoss.GetLFMResourceType(AnUnitInfo);
ResourceCode:=nil;
if (AnUnitInfo.Component<>nil) then begin if (AnUnitInfo.Component<>nil) then begin
// stream component to resource code and to lfm file // stream component to resource code and to lfm file
@ -4796,10 +4807,12 @@ begin
// save designer form properties to the component // save designer form properties to the component
FormEditor1.SaveHiddenDesignerFormProperties(AnUnitInfo.Component); FormEditor1.SaveHiddenDesignerFormProperties(AnUnitInfo.Component);
if (sfSaveToTestDir in Flags) then if ResType=lfmrtLRS then begin
LRSFilename:=MainBuildBoss.GetDefaultLRSFilename(AnUnitInfo) if (sfSaveToTestDir in Flags) then
else LRSFilename:=MainBuildBoss.GetDefaultLRSFilename(AnUnitInfo)
LRSFilename:=MainBuildBoss.FindLRSFilename(AnUnitInfo,true); else
LRSFilename:=MainBuildBoss.FindLRSFilename(AnUnitInfo,true);
end;
// stream component to binary stream // stream component to binary stream
BinCompStream:=TExtMemoryStream.Create; BinCompStream:=TExtMemoryStream.Create;
@ -4867,7 +4880,7 @@ begin
until Result<>mrRetry; until Result<>mrRetry;
// create lazarus form resource code // create lazarus form resource code
if ComponentSavingOk then begin if ComponentSavingOk and (LRSFilename<>'') then begin
if ResourceCode=nil then begin if ResourceCode=nil then begin
ResourceCode:=CodeToolBoss.CreateFile(LRSFilename); ResourceCode:=CodeToolBoss.CreateFile(LRSFilename);
ComponentSavingOk:=(ResourceCode<>nil); ComponentSavingOk:=(ResourceCode<>nil);
@ -4931,10 +4944,14 @@ begin
ResourceCode.Source:=CompResourceCode; ResourceCode.Source:=CompResourceCode;
end; end;
end; end;
if (not (sfSaveToTestDir in Flags)) and (not AnUnitInfo.IsVirtual) then end;
if ComponentSavingOk then begin
if (not AnUnitInfo.IsVirtual) or (sfSaveToTestDir in Flags) then
begin begin
// save lfm file // save lfm file
LFMFilename:=ChangeFileExt(AnUnitInfo.Filename,'.lfm'); LFMFilename:=ChangeFileExt(AnUnitInfo.Filename,'.lfm');
if AnUnitInfo.IsVirtual then
LFMFilename:=AppendPathDelim(GetTestBuildDirectory)+LFMFilename;
if LFMCode=nil then begin if LFMCode=nil then begin
LFMCode:=CodeToolBoss.CreateFile(LFMFilename); LFMCode:=CodeToolBoss.CreateFile(LFMFilename);
if LFMCode=nil then begin if LFMCode=nil then begin
@ -7401,6 +7418,7 @@ var
LFMCode: TCodeBuffer; LFMCode: TCodeBuffer;
AProject: TProject; AProject: TProject;
LRSFilename: String; LRSFilename: String;
ResType: TLFMResourceType;
begin begin
//debugln('TMainIDE.DoNewEditorFile A NewFilename=',NewFilename); //debugln('TMainIDE.DoNewEditorFile A NewFilename=',NewFilename);
// empty NewFilename is ok, it will be auto generated // empty NewFilename is ok, it will be auto generated
@ -7499,6 +7517,7 @@ begin
AncestorType:=NewFileDescriptor.ResourceClass; AncestorType:=NewFileDescriptor.ResourceClass;
//DebugLn(['TMainIDE.DoNewFile AncestorType=',dbgsName(AncestorType),' ComponentName',NewUnitInfo.ComponentName]); //DebugLn(['TMainIDE.DoNewFile AncestorType=',dbgsName(AncestorType),' ComponentName',NewUnitInfo.ComponentName]);
if AncestorType<>nil then begin if AncestorType<>nil then begin
ResType:=MainBuildBoss.GetLFMResourceType(NewUnitInfo);
LFMSourceText:=NewFileDescriptor.GetResourceSource(NewUnitInfo.ComponentName); LFMSourceText:=NewFileDescriptor.GetResourceSource(NewUnitInfo.ComponentName);
//DebugLn(['TMainIDE.DoNewFile LFMSourceText=',LFMSourceText]); //DebugLn(['TMainIDE.DoNewFile LFMSourceText=',LFMSourceText]);
if LFMSourceText<>'' then begin if LFMSourceText<>'' then begin
@ -7511,7 +7530,7 @@ begin
Result:=DoLoadLFM(NewUnitInfo,LFMCode,[],[]); Result:=DoLoadLFM(NewUnitInfo,LFMCode,[],[]);
//DebugLn(['TMainIDE.DoNewFile ',dbgsName(NewUnitInfo.Component),' ',dbgsName(NewUnitInfo.Component.ClassParent)]); //DebugLn(['TMainIDE.DoNewFile ',dbgsName(NewUnitInfo.Component),' ',dbgsName(NewUnitInfo.Component.ClassParent)]);
// make sure the .lrs file exists // make sure the .lrs file exists
if NewUnitInfo.IsVirtual then begin if (ResType=lfmrtLRS) and NewUnitInfo.IsVirtual then begin
LRSFilename:=ChangeFileExt(NewUnitInfo.Filename,'.lrs'); LRSFilename:=ChangeFileExt(NewUnitInfo.Filename,'.lrs');
CodeToolBoss.CreateFile(LRSFilename); CodeToolBoss.CreateFile(LRSFilename);
end; end;
@ -9832,6 +9851,7 @@ var
TargetExeName: String; TargetExeName: String;
err : TFPCErrorType; err : TFPCErrorType;
TargetExeDirectory: String; TargetExeDirectory: String;
FPCVersion, FPCRelease, FPCPatch: integer;
begin begin
if Project1.MainUnitInfo=nil then begin if Project1.MainUnitInfo=nil then begin
// this project has not source to compile // this project has not source to compile
@ -9860,6 +9880,18 @@ begin
Result:=DoSaveForBuild; Result:=DoSaveForBuild;
if Result<>mrOk then exit; if Result<>mrOk then exit;
if (Project1.Resources.LFMResourceType=lfmrtRes) then begin
// FPC resources are only supported with FPC 2.4+
CodeToolBoss.GetFPCVersionForDirectory(
ExtractFilePath(Project1.MainFilename),FPCVersion,FPCRelease,FPCPatch);
if (FPCVersion=2) and (FPCRelease<4) then begin
MessageDlg(lisFPCTooOld,
lisTheProjectUsesTheNewFPCResourcesWhichRequiresAtLea,
mtError,[mbCancel],0);
exit(mrCancel);
end;
end;
CreateInfoBuilder(OwningComponent); CreateInfoBuilder(OwningComponent);
PutInfoBuilderProject(Project1.MainFilename); PutInfoBuilderProject(Project1.MainFilename);
PutInfoBuilderStatus(lisInfoBuildComplile); PutInfoBuilderStatus(lisInfoBuildComplile);

View File

@ -15,37 +15,37 @@ object ProjectOptionsDialog: TProjectOptionsDialog
LCLVersion = '0.9.29' LCLVersion = '0.9.29'
object Notebook: TNotebook object Notebook: TNotebook
Left = 0 Left = 0
Height = 463 Height = 453
Top = 0 Top = 0
Width = 517 Width = 517
Align = alClient Align = alClient
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
PageIndex = 0 PageIndex = 6
TabOrder = 0 TabOrder = 0
object ApplicationPage: TPage object ApplicationPage: TPage
Caption = 'ApplicationPage' Caption = 'ApplicationPage'
ClientWidth = 509 ClientWidth = 515
ClientHeight = 437 ClientHeight = 426
object AppSettingsGroupBox: TGroupBox object AppSettingsGroupBox: TGroupBox
Left = 6 Left = 6
Height = 269 Height = 288
Top = 6 Top = 6
Width = 497 Width = 503
Align = alTop Align = alTop
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'AppSettingsGroupBox' Caption = 'AppSettingsGroupBox'
ClientHeight = 251 ClientHeight = 284
ClientWidth = 493 ClientWidth = 499
TabOrder = 0 TabOrder = 0
object TitleLabel: TLabel object TitleLabel: TLabel
AnchorSideLeft.Control = AppSettingsGroupBox AnchorSideLeft.Control = AppSettingsGroupBox
AnchorSideTop.Control = TitleEdit AnchorSideTop.Control = TitleEdit
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 14 Height = 18
Top = 9 Top = 10
Width = 46 Width = 61
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'TitleLabel' Caption = 'TitleLabel'
ParentColor = False ParentColor = False
@ -54,9 +54,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideLeft.Control = AppSettingsGroupBox AnchorSideLeft.Control = AppSettingsGroupBox
AnchorSideTop.Control = IconPanel AnchorSideTop.Control = IconPanel
Left = 6 Left = 6
Height = 14 Height = 18
Top = 33 Top = 39
Width = 47 Width = 61
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'IconLabel' Caption = 'IconLabel'
ParentColor = False ParentColor = False
@ -68,9 +68,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = IconTrack AnchorSideRight.Control = IconTrack
Left = 240 Left = 240
Height = 14 Height = 18
Top = 173 Top = 178
Width = 73 Width = 93
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
Caption = 'IconTrackLabel' Caption = 'IconTrackLabel'
@ -79,9 +79,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
object TitleEdit: TEdit object TitleEdit: TEdit
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
Left = 106 Left = 106
Height = 21 Height = 27
Top = 6 Top = 6
Width = 381 Width = 387
Align = alTop Align = alTop
BorderSpacing.Left = 100 BorderSpacing.Left = 100
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -93,9 +93,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = IconTrack AnchorSideTop.Control = IconTrack
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 17 Height = 22
Top = 205 Top = 213
Width = 134 Width = 181
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'UseAppBundleCheckBox' Caption = 'UseAppBundleCheckBox'
TabOrder = 1 TabOrder = 1
@ -105,9 +105,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = UseAppBundleCheckBox AnchorSideTop.Control = UseAppBundleCheckBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 17 Height = 22
Top = 228 Top = 241
Width = 136 Width = 182
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'UseXPManifestCheckBox' Caption = 'UseXPManifestCheckBox'
TabOrder = 2 TabOrder = 2
@ -118,7 +118,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 106 Left = 106
Height = 128 Height = 128
Top = 33 Top = 39
Width = 128 Width = 128
BorderSpacing.Left = 106 BorderSpacing.Left = 106
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -146,9 +146,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideBottom.Control = IconPanel AnchorSideBottom.Control = IconPanel
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 240 Left = 240
Height = 23 Height = 29
Top = 33 Top = 39
Width = 102 Width = 115
AutoSize = True AutoSize = True
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'LoadIconButton' Caption = 'LoadIconButton'
@ -161,9 +161,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = LoadIconButton AnchorSideTop.Control = LoadIconButton
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 240 Left = 240
Height = 23 Height = 29
Top = 62 Top = 74
Width = 103 Width = 116
AutoSize = True AutoSize = True
BorderSpacing.Top = 6 BorderSpacing.Top = 6
Caption = 'SaveIconButton' Caption = 'SaveIconButton'
@ -176,9 +176,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = SaveIconButton AnchorSideTop.Control = SaveIconButton
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 240 Left = 240
Height = 23 Height = 29
Top = 91 Top = 109
Width = 104 Width = 117
AutoSize = True AutoSize = True
BorderSpacing.Top = 6 BorderSpacing.Top = 6
Caption = 'ClearIconButton' Caption = 'ClearIconButton'
@ -193,8 +193,8 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideRight.Control = IconPanel AnchorSideRight.Control = IconPanel
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 106 Left = 106
Height = 38 Height = 40
Top = 161 Top = 167
Width = 128 Width = 128
Max = 0 Max = 0
OnChange = IconTrackChange OnChange = IconTrackChange
@ -205,23 +205,23 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end end
object OutputSettingsGroupBox: TGroupBox object OutputSettingsGroupBox: TGroupBox
Left = 6 Left = 6
Height = 71 Height = 82
Top = 281 Top = 300
Width = 497 Width = 503
Align = alTop Align = alTop
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'OutputSettingsGroupBox' Caption = 'OutputSettingsGroupBox'
ClientHeight = 53 ClientHeight = 78
ClientWidth = 493 ClientWidth = 499
TabOrder = 1 TabOrder = 1
object TargetFileLabel: TLabel object TargetFileLabel: TLabel
AnchorSideLeft.Control = OutputSettingsGroupBox AnchorSideLeft.Control = OutputSettingsGroupBox
AnchorSideTop.Control = OutputSettingsGroupBox AnchorSideTop.Control = OutputSettingsGroupBox
Left = 6 Left = 6
Height = 14 Height = 18
Top = 6 Top = 6
Width = 74 Width = 94
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'TargetFileLabel' Caption = 'TargetFileLabel'
ParentColor = False ParentColor = False
@ -233,9 +233,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideRight.Control = OutputSettingsGroupBox AnchorSideRight.Control = OutputSettingsGroupBox
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 6 Left = 6
Height = 21 Height = 27
Top = 26 Top = 30
Width = 481 Width = 487
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
TabOrder = 0 TabOrder = 0
@ -247,9 +247,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = OutputSettingsGroupBox AnchorSideTop.Control = OutputSettingsGroupBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 23 Height = 29
Top = 358 Top = 388
Width = 142 Width = 170
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'CreateAppBundleButton' Caption = 'CreateAppBundleButton'
@ -260,23 +260,23 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end end
object FormsPage: TPage object FormsPage: TPage
Caption = 'FormsPage' Caption = 'FormsPage'
ClientWidth = 509 ClientWidth = 515
ClientHeight = 437 ClientHeight = 426
OnResize = FormsPageResize OnResize = FormsPageResize
object FormsAutoCreatedLabel: TLabel object FormsAutoCreatedLabel: TLabel
Left = 36 Left = 36
Height = 14 Height = 18
Top = 10 Top = 10
Width = 117 Width = 156
Caption = 'FormsAutoCreatedLabel' Caption = 'FormsAutoCreatedLabel'
ParentColor = False ParentColor = False
end end
object FormsAvailFormsLabel: TLabel object FormsAvailFormsLabel: TLabel
AnchorSideLeft.Control = FormsAvailFormsListBox AnchorSideLeft.Control = FormsAvailFormsListBox
Left = 266 Left = 266
Height = 14 Height = 18
Top = 10 Top = 10
Width = 107 Width = 144
Caption = 'FormsAvailFormsLabel' Caption = 'FormsAvailFormsLabel'
ParentColor = False ParentColor = False
end end
@ -285,7 +285,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = FormsAutoCreatedListBox AnchorSideTop.Control = FormsAutoCreatedListBox
Left = 6 Left = 6
Height = 24 Height = 24
Top = 36 Top = 40
Width = 24 Width = 24
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Color = clBtnFace Color = clBtnFace
@ -298,7 +298,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 24 Height = 24
Top = 66 Top = 70
Width = 24 Width = 24
Color = clBtnFace Color = clBtnFace
NumGlyphs = 0 NumGlyphs = 0
@ -310,7 +310,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = FormsAutoCreatedListBox AnchorSideTop.Control = FormsAutoCreatedListBox
Left = 236 Left = 236
Height = 24 Height = 24
Top = 36 Top = 40
Width = 24 Width = 24
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Color = clBtnFace Color = clBtnFace
@ -324,7 +324,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 236 Left = 236
Height = 24 Height = 24
Top = 66 Top = 70
Width = 24 Width = 24
Color = clBtnFace Color = clBtnFace
NumGlyphs = 0 NumGlyphs = 0
@ -337,8 +337,8 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideBottom.Control = FormsAutoCreateNewFormsCheckBox AnchorSideBottom.Control = FormsAutoCreateNewFormsCheckBox
Left = 36 Left = 36
Height = 378 Height = 358
Top = 30 Top = 34
Width = 194 Width = 194
Anchors = [akTop, akLeft, akBottom] Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -346,6 +346,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
MultiSelect = True MultiSelect = True
OnDblClick = FormsRemoveFromAutoCreatedFormsBtnClick OnDblClick = FormsRemoveFromAutoCreatedFormsBtnClick
TabOrder = 0 TabOrder = 0
TopIndex = -1
end end
object FormsAvailFormsListBox: TListBox object FormsAvailFormsListBox: TListBox
AnchorSideLeft.Control = FormsAddToAutoCreatedFormsBtn AnchorSideLeft.Control = FormsAddToAutoCreatedFormsBtn
@ -356,23 +357,24 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = FormsAutoCreateNewFormsCheckBox AnchorSideBottom.Control = FormsAutoCreateNewFormsCheckBox
Left = 266 Left = 266
Height = 378 Height = 358
Top = 30 Top = 34
Width = 237 Width = 243
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
ItemHeight = 0 ItemHeight = 0
MultiSelect = True MultiSelect = True
OnDblClick = FormsAddToAutoCreatedFormsBtnClick OnDblClick = FormsAddToAutoCreatedFormsBtnClick
TabOrder = 1 TabOrder = 1
TopIndex = -1
end end
object FormsAutoCreateNewFormsCheckBox: TCheckBox object FormsAutoCreateNewFormsCheckBox: TCheckBox
AnchorSideLeft.Control = FormsAddToAutoCreatedFormsBtn AnchorSideLeft.Control = FormsAddToAutoCreatedFormsBtn
AnchorSideTop.Control = FormsAutoCreatedListBox AnchorSideTop.Control = FormsAutoCreatedListBox
Left = 6 Left = 6
Height = 17 Height = 22
Top = 414 Top = 398
Width = 497 Width = 503
Align = alBottom Align = alBottom
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'FormsAutoCreateNewFormsCheckBox' Caption = 'FormsAutoCreateNewFormsCheckBox'
@ -381,19 +383,19 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end end
object LazDocPage: TPage object LazDocPage: TPage
Caption = 'LazDocPage' Caption = 'LazDocPage'
ClientWidth = 509 ClientWidth = 515
ClientHeight = 427 ClientHeight = 426
object LazDocPathsGroupBox: TGroupBox object LazDocPathsGroupBox: TGroupBox
Left = 6 Left = 6
Height = 192 Height = 207
Top = 6 Top = 6
Width = 497 Width = 503
Align = alTop Align = alTop
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'LazDocPathsGroupBox' Caption = 'LazDocPathsGroupBox'
ClientHeight = 174 ClientHeight = 203
ClientWidth = 493 ClientWidth = 499
TabOrder = 0 TabOrder = 0
object LazDocListBox: TListBox object LazDocListBox: TListBox
AnchorSideLeft.Control = LazDocPathsGroupBox AnchorSideLeft.Control = LazDocPathsGroupBox
@ -403,11 +405,12 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6 Left = 6
Height = 108 Height = 108
Top = 6 Top = 6
Width = 481 Width = 487
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
ItemHeight = 0 ItemHeight = 0
TabOrder = 0 TabOrder = 0
TopIndex = -1
end end
object LazDocPathEdit: TEdit object LazDocPathEdit: TEdit
AnchorSideLeft.Control = LazDocPathsGroupBox AnchorSideLeft.Control = LazDocPathsGroupBox
@ -417,7 +420,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6 Left = 6
Height = 27 Height = 27
Top = 120 Top = 120
Width = 457 Width = 463
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -433,7 +436,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = LazDocPathEdit AnchorSideBottom.Control = LazDocPathEdit
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 463 Left = 469
Height = 27 Height = 27
Top = 120 Top = 120
Width = 24 Width = 24
@ -478,13 +481,13 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end end
object SavePage: TPage object SavePage: TPage
Caption = 'SavePage' Caption = 'SavePage'
ClientWidth = 509 ClientWidth = 515
ClientHeight = 427 ClientHeight = 426
object SaveClosedUnitInfoCheckBox: TCheckBox object SaveClosedUnitInfoCheckBox: TCheckBox
Left = 6 Left = 6
Height = 17 Height = 22
Top = 6 Top = 6
Width = 497 Width = 503
Align = alTop Align = alTop
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'SaveClosedUnitInfoCheckBox' Caption = 'SaveClosedUnitInfoCheckBox'
@ -494,9 +497,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = SaveClosedUnitInfoCheckBox AnchorSideTop.Control = SaveClosedUnitInfoCheckBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 17 Height = 22
Top = 29 Top = 34
Width = 497 Width = 503
Align = alTop Align = alTop
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'SaveOnlyProjectUnitInfoCheckBox' Caption = 'SaveOnlyProjectUnitInfoCheckBox'
@ -509,8 +512,8 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 6 Left = 6
Height = 4 Height = 4
Top = 58 Top = 68
Width = 497 Width = 503
Align = alTop Align = alTop
AutoFill = True AutoFill = True
AutoSize = True AutoSize = True
@ -530,8 +533,8 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end end
object VersionInfoPage: TPage object VersionInfoPage: TPage
Caption = 'VersionInfoPage' Caption = 'VersionInfoPage'
ClientWidth = 509 ClientWidth = 515
ClientHeight = 437 ClientHeight = 426
object VersionInfoGroupBox: TGroupBox object VersionInfoGroupBox: TGroupBox
AnchorSideLeft.Control = LanguageSettingsGroupBox AnchorSideLeft.Control = LanguageSettingsGroupBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
@ -539,13 +542,13 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6 Left = 6
Height = 100 Height = 100
Top = 29 Top = 29
Width = 497 Width = 503
Align = alTop Align = alTop
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Version Numbering' Caption = 'Version Numbering'
ClientHeight = 82 ClientHeight = 81
ClientWidth = 493 ClientWidth = 499
TabOrder = 1 TabOrder = 1
object VersionLabel: TLabel object VersionLabel: TLabel
AnchorSideLeft.Control = VersionInfoGroupBox AnchorSideLeft.Control = VersionInfoGroupBox
@ -659,7 +662,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6 Left = 6
Height = 17 Height = 17
Top = 6 Top = 6
Width = 497 Width = 503
Align = alTop Align = alTop
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Include Version Info in executable' Caption = 'Include Version Info in executable'
@ -672,13 +675,13 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6 Left = 6
Height = 71 Height = 71
Top = 135 Top = 135
Width = 497 Width = 503
Align = alTop Align = alTop
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Language Options' Caption = 'Language Options'
ClientHeight = 53 ClientHeight = 52
ClientWidth = 493 ClientWidth = 499
TabOrder = 2 TabOrder = 2
object LanguageSelectionLabel: TLabel object LanguageSelectionLabel: TLabel
AnchorSideLeft.Control = LanguageSettingsGroupBox AnchorSideLeft.Control = LanguageSettingsGroupBox
@ -713,7 +716,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Width = 248 Width = 248
BorderSpacing.Top = 2 BorderSpacing.Top = 2
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
ItemHeight = 13 ItemHeight = 0
TabOrder = 0 TabOrder = 0
Text = 'U.S. English' Text = 'U.S. English'
end end
@ -725,11 +728,11 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 260 Left = 260
Height = 21 Height = 21
Top = 26 Top = 26
Width = 227 Width = 233
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6 BorderSpacing.Right = 6
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
ItemHeight = 13 ItemHeight = 0
TabOrder = 1 TabOrder = 1
Text = 'Multilingual' Text = 'Multilingual'
end end
@ -740,13 +743,13 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6 Left = 6
Height = 107 Height = 107
Top = 212 Top = 212
Width = 497 Width = 503
Align = alTop Align = alTop
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Other Info' Caption = 'Other Info'
ClientHeight = 89 ClientHeight = 88
ClientWidth = 493 ClientWidth = 499
TabOrder = 3 TabOrder = 3
object DescriptionLabel: TLabel object DescriptionLabel: TLabel
AnchorSideTop.Control = DescriptionEdit AnchorSideTop.Control = DescriptionEdit
@ -779,7 +782,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 74 Left = 74
Height = 21 Height = 21
Top = 6 Top = 6
Width = 413 Width = 419
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 10 BorderSpacing.Left = 10
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -795,7 +798,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 74 Left = 74
Height = 21 Height = 21
Top = 33 Top = 33
Width = 413 Width = 419
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
@ -807,7 +810,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideRight.Control = OtherInfoGroupBox AnchorSideRight.Control = OtherInfoGroupBox
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 391 Left = 397
Height = 23 Height = 23
Top = 60 Top = 60
Width = 96 Width = 96
@ -823,8 +826,8 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end end
object i18nPage: TPage object i18nPage: TPage
Caption = 'i18n' Caption = 'i18n'
ClientWidth = 509 ClientWidth = 515
ClientHeight = 427 ClientHeight = 426
object I18NGroupBox: TGroupBox object I18NGroupBox: TGroupBox
AnchorSideLeft.Control = OtherInfoGroupBox AnchorSideLeft.Control = OtherInfoGroupBox
AnchorSideTop.Control = VersionInfoGroupBox AnchorSideTop.Control = VersionInfoGroupBox
@ -834,13 +837,13 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6 Left = 6
Height = 84 Height = 84
Top = 34 Top = 34
Width = 497 Width = 503
Align = alTop Align = alTop
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'i18n Options' Caption = 'i18n Options'
ClientHeight = 66 ClientHeight = 65
ClientWidth = 493 ClientWidth = 499
TabOrder = 0 TabOrder = 0
object PoOutDirLabel: TLabel object PoOutDirLabel: TLabel
Left = 6 Left = 6
@ -859,7 +862,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6 Left = 6
Height = 27 Height = 27
Top = 30 Top = 30
Width = 457 Width = 463
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -873,7 +876,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = POOutDirEdit AnchorSideBottom.Control = POOutDirEdit
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 463 Left = 469
Height = 27 Height = 27
Top = 30 Top = 30
Width = 24 Width = 24
@ -888,7 +891,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6 Left = 6
Height = 22 Height = 22
Top = 6 Top = 6
Width = 497 Width = 503
Align = alTop Align = alTop
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Enable i18n' Caption = 'Enable i18n'
@ -898,8 +901,8 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end end
object MiscPage: TPage object MiscPage: TPage
Caption = 'MiscPage' Caption = 'MiscPage'
ClientWidth = 509 ClientWidth = 515
ClientHeight = 427 ClientHeight = 426
object Bevel1: TBevel object Bevel1: TBevel
AnchorSideLeft.Control = MiscPage AnchorSideLeft.Control = MiscPage
AnchorSideTop.Control = MainUnitHasTitleStatementCheckBox AnchorSideTop.Control = MainUnitHasTitleStatementCheckBox
@ -909,7 +912,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6 Left = 6
Height = 3 Height = 3
Top = 118 Top = 118
Width = 497 Width = 503
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
end end
@ -995,12 +998,59 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Caption = 'LRSInOutputDirCheckBox' Caption = 'LRSInOutputDirCheckBox'
TabOrder = 6 TabOrder = 6
end end
object LFMResourceGroupBox: TGroupBox
AnchorSideLeft.Control = MiscPage
AnchorSideTop.Control = LRSInOutputDirCheckBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = MiscPage
AnchorSideRight.Side = asrBottom
Left = 6
Height = 81
Top = 208
Width = 503
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
Caption = 'LFMResourceGroupBox'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 62
ClientWidth = 499
TabOrder = 7
object UseLRSFilesRadioButton: TRadioButton
Left = 6
Height = 25
Top = 6
Width = 487
Caption = 'UseLRSFilesRadioButton'
Checked = True
ParentShowHint = False
ShowHint = True
State = cbChecked
TabOrder = 0
end
object UseFPCResourcesRadioButton: TRadioButton
Left = 6
Height = 25
Top = 31
Width = 487
Caption = 'UseFPCResourcesRadioButton'
ParentShowHint = False
ShowHint = True
TabOrder = 1
end
end
end end
end end
object ButtonPanel: TButtonPanel object ButtonPanel: TButtonPanel
Left = 6 Left = 6
Height = 26 Height = 36
Top = 469 Top = 459
Width = 505 Width = 505
TabOrder = 1 TabOrder = 1
ShowButtons = [pbOK, pbCancel, pbHelp] ShowButtons = [pbOK, pbCancel, pbHelp]

View File

@ -7,351 +7,369 @@ LazarusResources.Add('TProjectOptionsDialog','FORMDATA',[
+#12'ClientHeight'#3#245#1#11'ClientWidth'#3#5#2#21'Constraints.MinHeight'#3 +#12'ClientHeight'#3#245#1#11'ClientWidth'#3#5#2#21'Constraints.MinHeight'#3
+#234#1#20'Constraints.MinWidth'#3#254#1#7'OnClose'#7#19'ProjectOptionsClose' +#234#1#20'Constraints.MinWidth'#3#254#1#7'OnClose'#7#19'ProjectOptionsClose'
+#8'Position'#7#14'poScreenCenter'#10'LCLVersion'#6#6'0.9.29'#0#9'TNotebook'#8 +#8'Position'#7#14'poScreenCenter'#10'LCLVersion'#6#6'0.9.29'#0#9'TNotebook'#8
+'Notebook'#4'Left'#2#0#6'Height'#3#207#1#3'Top'#2#0#5'Width'#3#5#2#5'Align'#7 +'Notebook'#4'Left'#2#0#6'Height'#3#197#1#3'Top'#2#0#5'Width'#3#5#2#5'Align'#7
+#8'alClient'#20'BorderSpacing.Bottom'#2#6#9'PageIndex'#2#0#8'TabOrder'#2#0#0 +#8'alClient'#20'BorderSpacing.Bottom'#2#6#9'PageIndex'#2#6#8'TabOrder'#2#0#0
+#5'TPage'#15'ApplicationPage'#7'Caption'#6#15'ApplicationPage'#11'ClientWidt' +#5'TPage'#15'ApplicationPage'#7'Caption'#6#15'ApplicationPage'#11'ClientWidt'
+'h'#3#253#1#12'ClientHeight'#3#181#1#0#9'TGroupBox'#19'AppSettingsGroupBox'#4 +'h'#3#3#2#12'ClientHeight'#3#170#1#0#9'TGroupBox'#19'AppSettingsGroupBox'#4
+'Left'#2#6#6'Height'#3#13#1#3'Top'#2#6#5'Width'#3#241#1#5'Align'#7#5'alTop'#8 +'Left'#2#6#6'Height'#3' '#1#3'Top'#2#6#5'Width'#3#247#1#5'Align'#7#5'alTop'#8
+'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'AppSettingsGroupBo' +'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'AppSettingsGroupBo'
+'x'#12'ClientHeight'#3#251#0#11'ClientWidth'#3#237#1#8'TabOrder'#2#0#0#6'TLa' +'x'#12'ClientHeight'#3#28#1#11'ClientWidth'#3#243#1#8'TabOrder'#2#0#0#6'TLab'
+'bel'#10'TitleLabel'#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21 +'el'#10'TitleLabel'#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21
+'AnchorSideTop.Control'#7#9'TitleEdit'#18'AnchorSideTop.Side'#7#9'asrCenter' +'AnchorSideTop.Control'#7#9'TitleEdit'#18'AnchorSideTop.Side'#7#9'asrCenter'
+#4'Left'#2#6#6'Height'#2#14#3'Top'#2#9#5'Width'#2'.'#18'BorderSpacing.Left'#2 +#4'Left'#2#6#6'Height'#2#18#3'Top'#2#10#5'Width'#2'='#18'BorderSpacing.Left'
+#6#7'Caption'#6#10'TitleLabel'#11'ParentColor'#8#0#0#6'TLabel'#9'IconLabel' +#2#6#7'Caption'#6#10'TitleLabel'#11'ParentColor'#8#0#0#6'TLabel'#9'IconLabel'
+#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21'AnchorSideTop.Contr' +#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21'AnchorSideTop.Contr'
+'ol'#7#9'IconPanel'#4'Left'#2#6#6'Height'#2#14#3'Top'#2'!'#5'Width'#2'/'#18 +'ol'#7#9'IconPanel'#4'Left'#2#6#6'Height'#2#18#3'Top'#2''''#5'Width'#2'='#18
+'BorderSpacing.Left'#2#6#7'Caption'#6#9'IconLabel'#11'ParentColor'#8#0#0#6'T' +'BorderSpacing.Left'#2#6#7'Caption'#6#9'IconLabel'#11'ParentColor'#8#0#0#6'T'
+'Label'#14'IconTrackLabel'#22'AnchorSideLeft.Control'#7#9'IconTrack'#19'Anch' +'Label'#14'IconTrackLabel'#22'AnchorSideLeft.Control'#7#9'IconTrack'#19'Anch'
+'orSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9'IconTrack'#18 +'orSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9'IconTrack'#18
+'AnchorSideTop.Side'#7#9'asrCenter'#23'AnchorSideRight.Control'#7#9'IconTrac' +'AnchorSideTop.Side'#7#9'asrCenter'#23'AnchorSideRight.Control'#7#9'IconTrac'
+'k'#4'Left'#3#240#0#6'Height'#2#14#3'Top'#3#173#0#5'Width'#2'I'#18'BorderSpa' +'k'#4'Left'#3#240#0#6'Height'#2#18#3'Top'#3#178#0#5'Width'#2']'#18'BorderSpa'
+'cing.Left'#2#6#19'BorderSpacing.Right'#2#6#7'Caption'#6#14'IconTrackLabel' +'cing.Left'#2#6#19'BorderSpacing.Right'#2#6#7'Caption'#6#14'IconTrackLabel'
+#11'ParentColor'#8#0#0#5'TEdit'#9'TitleEdit'#19'AnchorSideLeft.Side'#7#9'asr' +#11'ParentColor'#8#0#0#5'TEdit'#9'TitleEdit'#19'AnchorSideLeft.Side'#7#9'asr'
+'Bottom'#4'Left'#2'j'#6'Height'#2#21#3'Top'#2#6#5'Width'#3'}'#1#5'Align'#7#5 +'Bottom'#4'Left'#2'j'#6'Height'#2#27#3'Top'#2#6#5'Width'#3#131#1#5'Align'#7#5
+'alTop'#18'BorderSpacing.Left'#2'd'#20'BorderSpacing.Around'#2#6#8'TabOrder' +'alTop'#18'BorderSpacing.Left'#2'd'#20'BorderSpacing.Around'#2#6#8'TabOrder'
+#2#0#4'Text'#6#9'TitleEdit'#0#0#9'TCheckBox'#20'UseAppBundleCheckBox'#22'Anc' +#2#0#4'Text'#6#9'TitleEdit'#0#0#9'TCheckBox'#20'UseAppBundleCheckBox'#22'Anc'
+'horSideLeft.Control'#7#19'AppSettingsGroupBox'#21'AnchorSideTop.Control'#7#9 +'horSideLeft.Control'#7#19'AppSettingsGroupBox'#21'AnchorSideTop.Control'#7#9
+'IconTrack'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#17 +'IconTrack'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#22
+#3'Top'#3#205#0#5'Width'#3#134#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#20 +#3'Top'#3#213#0#5'Width'#3#181#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#20
+'UseAppBundleCheckBox'#8'TabOrder'#2#1#0#0#9'TCheckBox'#21'UseXPManifestChec' +'UseAppBundleCheckBox'#8'TabOrder'#2#1#0#0#9'TCheckBox'#21'UseXPManifestChec'
+'kBox'#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21'AnchorSideTop' +'kBox'#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21'AnchorSideTop'
+'.Control'#7#20'UseAppBundleCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4 +'.Control'#7#20'UseAppBundleCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4
+'Left'#2#6#6'Height'#2#17#3'Top'#3#228#0#5'Width'#3#136#0#20'BorderSpacing.A' +'Left'#2#6#6'Height'#2#22#3'Top'#3#241#0#5'Width'#3#182#0#20'BorderSpacing.A'
+'round'#2#6#7'Caption'#6#21'UseXPManifestCheckBox'#8'TabOrder'#2#2#0#0#6'TPa' +'round'#2#6#7'Caption'#6#21'UseXPManifestCheckBox'#8'TabOrder'#2#2#0#0#6'TPa'
+'nel'#9'IconPanel'#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21'A' +'nel'#9'IconPanel'#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21'A'
+'nchorSideTop.Control'#7#9'TitleEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#4 +'nchorSideTop.Control'#7#9'TitleEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#4
+'Left'#2'j'#6'Height'#3#128#0#3'Top'#2'!'#5'Width'#3#128#0#18'BorderSpacing.' +'Left'#2'j'#6'Height'#3#128#0#3'Top'#2''''#5'Width'#3#128#0#18'BorderSpacing'
+'Left'#2'j'#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#10'BevelOu' +'.Left'#2'j'#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#10'BevelO'
+'ter'#7#6'bvNone'#11'BorderWidth'#2#1#11'BorderStyle'#7#8'bsSingle'#12'Clien' +'uter'#7#6'bvNone'#11'BorderWidth'#2#1#11'BorderStyle'#7#8'bsSingle'#12'Clie'
+'tHeight'#2'|'#11'ClientWidth'#2'|'#8'TabOrder'#2#3#0#6'TImage'#9'IconImage' +'ntHeight'#2'|'#11'ClientWidth'#2'|'#8'TabOrder'#2#3#0#6'TImage'#9'IconImage'
+#4'Left'#2#1#6'Height'#2'z'#3'Top'#2#1#5'Width'#2'z'#5'Align'#7#8'alClient'#6 +#4'Left'#2#1#6'Height'#2'z'#3'Top'#2#1#5'Width'#2'z'#5'Align'#7#8'alClient'#6
+'Center'#9#16'OnPictureChanged'#7#23'IconImagePictureChanged'#0#0#0#7'TBitBt' +'Center'#9#16'OnPictureChanged'#7#23'IconImagePictureChanged'#0#0#0#7'TBitBt'
+'n'#14'LoadIconButton'#22'AnchorSideLeft.Control'#7#9'IconPanel'#19'AnchorSi' +'n'#14'LoadIconButton'#22'AnchorSideLeft.Control'#7#9'IconPanel'#19'AnchorSi'
+'deLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9'IconPanel'#24'Anc' +'deLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9'IconPanel'#24'Anc'
+'horSideBottom.Control'#7#9'IconPanel'#21'AnchorSideBottom.Side'#7#9'asrBott' +'horSideBottom.Control'#7#9'IconPanel'#21'AnchorSideBottom.Side'#7#9'asrBott'
+'om'#4'Left'#3#240#0#6'Height'#2#23#3'Top'#2'!'#5'Width'#2'f'#8'AutoSize'#9 +'om'#4'Left'#3#240#0#6'Height'#2#29#3'Top'#2''''#5'Width'#2's'#8'AutoSize'#9
+#18'BorderSpacing.Left'#2#6#7'Caption'#6#14'LoadIconButton'#9'NumGlyphs'#2#0 +#18'BorderSpacing.Left'#2#6#7'Caption'#6#14'LoadIconButton'#9'NumGlyphs'#2#0
+#7'OnClick'#7#19'LoadIconButtonClick'#8'TabOrder'#2#4#0#0#7'TBitBtn'#14'Save' +#7'OnClick'#7#19'LoadIconButtonClick'#8'TabOrder'#2#4#0#0#7'TBitBtn'#14'Save'
+'IconButton'#22'AnchorSideLeft.Control'#7#14'LoadIconButton'#21'AnchorSideTo' +'IconButton'#22'AnchorSideLeft.Control'#7#14'LoadIconButton'#21'AnchorSideTo'
+'p.Control'#7#14'LoadIconButton'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Lef' +'p.Control'#7#14'LoadIconButton'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Lef'
+'t'#3#240#0#6'Height'#2#23#3'Top'#2'>'#5'Width'#2'g'#8'AutoSize'#9#17'Border' +'t'#3#240#0#6'Height'#2#29#3'Top'#2'J'#5'Width'#2't'#8'AutoSize'#9#17'Border'
+'Spacing.Top'#2#6#7'Caption'#6#14'SaveIconButton'#9'NumGlyphs'#2#0#7'OnClick' +'Spacing.Top'#2#6#7'Caption'#6#14'SaveIconButton'#9'NumGlyphs'#2#0#7'OnClick'
+#7#19'SaveIconButtonClick'#8'TabOrder'#2#5#0#0#7'TBitBtn'#15'ClearIconButton' +#7#19'SaveIconButtonClick'#8'TabOrder'#2#5#0#0#7'TBitBtn'#15'ClearIconButton'
+#22'AnchorSideLeft.Control'#7#14'SaveIconButton'#21'AnchorSideTop.Control'#7 +#22'AnchorSideLeft.Control'#7#14'SaveIconButton'#21'AnchorSideTop.Control'#7
+#14'SaveIconButton'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#240#0#6 +#14'SaveIconButton'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#240#0#6
+'Height'#2#23#3'Top'#2'['#5'Width'#2'h'#8'AutoSize'#9#17'BorderSpacing.Top'#2 +'Height'#2#29#3'Top'#2'm'#5'Width'#2'u'#8'AutoSize'#9#17'BorderSpacing.Top'#2
+#6#7'Caption'#6#15'ClearIconButton'#9'NumGlyphs'#2#0#7'OnClick'#7#20'ClearIc' +#6#7'Caption'#6#15'ClearIconButton'#9'NumGlyphs'#2#0#7'OnClick'#7#20'ClearIc'
+'onButtonClick'#8'TabOrder'#2#6#0#0#9'TTrackBar'#9'IconTrack'#22'AnchorSideL' +'onButtonClick'#8'TabOrder'#2#6#0#0#9'TTrackBar'#9'IconTrack'#22'AnchorSideL'
+'eft.Control'#7#9'IconPanel'#21'AnchorSideTop.Control'#7#9'IconPanel'#18'Anc' +'eft.Control'#7#9'IconPanel'#21'AnchorSideTop.Control'#7#9'IconPanel'#18'Anc'
+'horSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#9'IconPanel' +'horSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#9'IconPanel'
+#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2'j'#6'Height'#2'&'#3'Top'#3 +#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2'j'#6'Height'#2'('#3'Top'#3
,#161#0#5'Width'#3#128#0#3'Max'#2#0#8'OnChange'#7#15'IconTrackChange'#8'Posit' ,#167#0#5'Width'#3#128#0#3'Max'#2#0#8'OnChange'#7#15'IconTrackChange'#8'Posit'
+'ion'#2#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#7#0#0#0 +'ion'#2#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#7#0#0#0
+#9'TGroupBox'#22'OutputSettingsGroupBox'#4'Left'#2#6#6'Height'#2'G'#3'Top'#3 +#9'TGroupBox'#22'OutputSettingsGroupBox'#4'Left'#2#6#6'Height'#2'R'#3'Top'#3
+#25#1#5'Width'#3#241#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Ar' +','#1#5'Width'#3#247#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Ar'
+'ound'#2#6#7'Caption'#6#22'OutputSettingsGroupBox'#12'ClientHeight'#2'5'#11 +'ound'#2#6#7'Caption'#6#22'OutputSettingsGroupBox'#12'ClientHeight'#2'N'#11
+'ClientWidth'#3#237#1#8'TabOrder'#2#1#0#6'TLabel'#15'TargetFileLabel'#22'Anc' +'ClientWidth'#3#243#1#8'TabOrder'#2#1#0#6'TLabel'#15'TargetFileLabel'#22'Anc'
+'horSideLeft.Control'#7#22'OutputSettingsGroupBox'#21'AnchorSideTop.Control' +'horSideLeft.Control'#7#22'OutputSettingsGroupBox'#21'AnchorSideTop.Control'
+#7#22'OutputSettingsGroupBox'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#6#5'Width' +#7#22'OutputSettingsGroupBox'#4'Left'#2#6#6'Height'#2#18#3'Top'#2#6#5'Width'
+#2'J'#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'TargetFileLabel'#11'Paren' +#2'^'#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'TargetFileLabel'#11'Paren'
+'tColor'#8#0#0#5'TEdit'#14'TargetFileEdit'#22'AnchorSideLeft.Control'#7#22'O' +'tColor'#8#0#0#5'TEdit'#14'TargetFileEdit'#22'AnchorSideLeft.Control'#7#22'O'
+'utputSettingsGroupBox'#21'AnchorSideTop.Control'#7#15'TargetFileLabel'#18'A' +'utputSettingsGroupBox'#21'AnchorSideTop.Control'#7#15'TargetFileLabel'#18'A'
+'nchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#22'OutputSe' +'nchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#22'OutputSe'
+'ttingsGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Heigh' +'ttingsGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Heigh'
+'t'#2#21#3'Top'#2#26#5'Width'#3#225#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akR' +'t'#2#27#3'Top'#2#30#5'Width'#3#231#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akR'
+'ight'#0#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#0#4'Text'#6#14'TargetFil' +'ight'#0#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#0#4'Text'#6#14'TargetFil'
+'eEdit'#0#0#0#7'TBitBtn'#21'CreateAppBundleButton'#22'AnchorSideLeft.Control' +'eEdit'#0#0#0#7'TBitBtn'#21'CreateAppBundleButton'#22'AnchorSideLeft.Control'
+#7#15'ApplicationPage'#21'AnchorSideTop.Control'#7#22'OutputSettingsGroupBox' +#7#15'ApplicationPage'#21'AnchorSideTop.Control'#7#22'OutputSettingsGroupBox'
+#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#23#3'Top'#3'f' +#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#29#3'Top'#3
+#1#5'Width'#3#142#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6 +#132#1#5'Width'#3#170#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'
+#21'CreateAppBundleButton'#9'NumGlyphs'#2#0#7'OnClick'#7#26'CreateAppBundleB' +#6#21'CreateAppBundleButton'#9'NumGlyphs'#2#0#7'OnClick'#7#26'CreateAppBundl'
+'uttonClick'#8'TabOrder'#2#2#0#0#0#5'TPage'#9'FormsPage'#7'Caption'#6#9'Form' +'eButtonClick'#8'TabOrder'#2#2#0#0#0#5'TPage'#9'FormsPage'#7'Caption'#6#9'Fo'
+'sPage'#11'ClientWidth'#3#253#1#12'ClientHeight'#3#181#1#8'OnResize'#7#15'Fo' +'rmsPage'#11'ClientWidth'#3#3#2#12'ClientHeight'#3#170#1#8'OnResize'#7#15'Fo'
+'rmsPageResize'#0#6'TLabel'#21'FormsAutoCreatedLabel'#4'Left'#2'$'#6'Height' +'rmsPageResize'#0#6'TLabel'#21'FormsAutoCreatedLabel'#4'Left'#2'$'#6'Height'
+#2#14#3'Top'#2#10#5'Width'#2'u'#7'Caption'#6#21'FormsAutoCreatedLabel'#11'Pa' +#2#18#3'Top'#2#10#5'Width'#3#156#0#7'Caption'#6#21'FormsAutoCreatedLabel'#11
+'rentColor'#8#0#0#6'TLabel'#20'FormsAvailFormsLabel'#22'AnchorSideLeft.Contr' +'ParentColor'#8#0#0#6'TLabel'#20'FormsAvailFormsLabel'#22'AnchorSideLeft.Con'
+'ol'#7#22'FormsAvailFormsListBox'#4'Left'#3#10#1#6'Height'#2#14#3'Top'#2#10#5 +'trol'#7#22'FormsAvailFormsListBox'#4'Left'#3#10#1#6'Height'#2#18#3'Top'#2#10
+'Width'#2'k'#7'Caption'#6#20'FormsAvailFormsLabel'#11'ParentColor'#8#0#0#12 +#5'Width'#3#144#0#7'Caption'#6#20'FormsAvailFormsLabel'#11'ParentColor'#8#0#0
+'TSpeedButton'#29'FormsMoveAutoCreatedFormUpBtn'#22'AnchorSideLeft.Control'#7 +#12'TSpeedButton'#29'FormsMoveAutoCreatedFormUpBtn'#22'AnchorSideLeft.Contro'
+#9'FormsPage'#21'AnchorSideTop.Control'#7#23'FormsAutoCreatedListBox'#4'Left' +'l'#7#9'FormsPage'#21'AnchorSideTop.Control'#7#23'FormsAutoCreatedListBox'#4
+#2#6#6'Height'#2#24#3'Top'#2'$'#5'Width'#2#24#20'BorderSpacing.Around'#2#6#5 +'Left'#2#6#6'Height'#2#24#3'Top'#2'('#5'Width'#2#24#20'BorderSpacing.Around'
+'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7'"FormsMoveAutoCreatedFo' +#2#6#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7'"FormsMoveAutoCre'
+'rmUpBtnClick'#0#0#12'TSpeedButton FormsMoveAutoCreatedFormsDownBtn'#22'Anch' +'atedFormUpBtnClick'#0#0#12'TSpeedButton FormsMoveAutoCreatedFormsDownBtn'#22
+'orSideLeft.Control'#7#29'FormsMoveAutoCreatedFormUpBtn'#21'AnchorSideTop.Co' +'AnchorSideLeft.Control'#7#29'FormsMoveAutoCreatedFormUpBtn'#21'AnchorSideTo'
+'ntrol'#7#29'FormsMoveAutoCreatedFormUpBtn'#18'AnchorSideTop.Side'#7#9'asrBo' +'p.Control'#7#29'FormsMoveAutoCreatedFormUpBtn'#18'AnchorSideTop.Side'#7#9'a'
+'ttom'#4'Left'#2#6#6'Height'#2#24#3'Top'#2'B'#5'Width'#2#24#5'Color'#7#9'clB' +'srBottom'#4'Left'#2#6#6'Height'#2#24#3'Top'#2'F'#5'Width'#2#24#5'Color'#7#9
+'tnFace'#9'NumGlyphs'#2#0#7'OnClick'#7'$FormsMoveAutoCreatedFormDownBtnClick' +'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7'$FormsMoveAutoCreatedFormDownBtnCl'
+#0#0#12'TSpeedButton"FormsRemoveFromAutoCreatedFormsBtn'#22'AnchorSideLeft.C' +'ick'#0#0#12'TSpeedButton"FormsRemoveFromAutoCreatedFormsBtn'#22'AnchorSideL'
+'ontrol'#7#23'FormsAutoCreatedListBox'#19'AnchorSideLeft.Side'#7#9'asrBottom' +'eft.Control'#7#23'FormsAutoCreatedListBox'#19'AnchorSideLeft.Side'#7#9'asrB'
+#21'AnchorSideTop.Control'#7#23'FormsAutoCreatedListBox'#4'Left'#3#236#0#6'H' +'ottom'#21'AnchorSideTop.Control'#7#23'FormsAutoCreatedListBox'#4'Left'#3#236
+'eight'#2#24#3'Top'#2'$'#5'Width'#2#24#20'BorderSpacing.Around'#2#6#5'Color' +#0#6'Height'#2#24#3'Top'#2'('#5'Width'#2#24#20'BorderSpacing.Around'#2#6#5'C'
+#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7'''FormsRemoveFromAutoCreatedFo' +'olor'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7'''FormsRemoveFromAutoCre'
+'rmsBtnClick'#0#0#12'TSpeedButton'#29'FormsAddToAutoCreatedFormsBtn'#22'Anch' +'atedFormsBtnClick'#0#0#12'TSpeedButton'#29'FormsAddToAutoCreatedFormsBtn'#22
+'orSideLeft.Control'#7#23'FormsAutoCreatedListBox'#19'AnchorSideLeft.Side'#7 +'AnchorSideLeft.Control'#7#23'FormsAutoCreatedListBox'#19'AnchorSideLeft.Sid'
+#9'asrBottom'#21'AnchorSideTop.Control'#7'"FormsRemoveFromAutoCreatedFormsBt' +'e'#7#9'asrBottom'#21'AnchorSideTop.Control'#7'"FormsRemoveFromAutoCreatedFo'
+'n'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#236#0#6'Height'#2#24#3'T' +'rmsBtn'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#236#0#6'Height'#2#24
+'op'#2'B'#5'Width'#2#24#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7 +#3'Top'#2'F'#5'Width'#2#24#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClic'
+'"FormsAddToAutoCreatedFormsBtnClick'#0#0#8'TListBox'#23'FormsAutoCreatedLis' +'k'#7'"FormsAddToAutoCreatedFormsBtnClick'#0#0#8'TListBox'#23'FormsAutoCreat'
+'tBox'#22'AnchorSideLeft.Control'#7' FormsMoveAutoCreatedFormsDownBtn'#19'An' +'edListBox'#22'AnchorSideLeft.Control'#7' FormsMoveAutoCreatedFormsDownBtn'
+'chorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#21'FormsAutoC' +#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#21'Forms'
+'reatedLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#24'AnchorSideBottom.Cont' +'AutoCreatedLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#24'AnchorSideBottom'
+'rol'#7#31'FormsAutoCreateNewFormsCheckBox'#4'Left'#2'$'#6'Height'#3'z'#1#3 +'.Control'#7#31'FormsAutoCreateNewFormsCheckBox'#4'Left'#2'$'#6'Height'#3'f'
+'Top'#2#30#5'Width'#3#194#0#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBottom'#0#20 +#1#3'Top'#2'"'#5'Width'#3#194#0#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBottom'
+'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#11'MultiSelect'#9#10'OnDblClic' +#0#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#11'MultiSelect'#9#10'OnDb'
+'k'#7'''FormsRemoveFromAutoCreatedFormsBtnClick'#8'TabOrder'#2#0#0#0#8'TList' +'lClick'#7'''FormsRemoveFromAutoCreatedFormsBtnClick'#8'TabOrder'#2#0#8'TopI'
+'Box'#22'FormsAvailFormsListBox'#22'AnchorSideLeft.Control'#7#29'FormsAddToA' +'ndex'#2#255#0#0#8'TListBox'#22'FormsAvailFormsListBox'#22'AnchorSideLeft.Co'
+'utoCreatedFormsBtn'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop' +'ntrol'#7#29'FormsAddToAutoCreatedFormsBtn'#19'AnchorSideLeft.Side'#7#9'asrB'
+'.Control'#7#20'FormsAvailFormsLabel'#18'AnchorSideTop.Side'#7#9'asrBottom' +'ottom'#21'AnchorSideTop.Control'#7#20'FormsAvailFormsLabel'#18'AnchorSideTo'
+#23'AnchorSideRight.Control'#7#9'FormsPage'#20'AnchorSideRight.Side'#7#9'asr' +'p.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#9'FormsPage'#20'Anchor'
+'Bottom'#24'AnchorSideBottom.Control'#7#31'FormsAutoCreateNewFormsCheckBox'#4 +'SideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#31'FormsAutoC'
+'Left'#3#10#1#6'Height'#3'z'#1#3'Top'#2#30#5'Width'#3#237#0#7'Anchors'#11#5 +'reateNewFormsCheckBox'#4'Left'#3#10#1#6'Height'#3'f'#1#3'Top'#2'"'#5'Width'
+'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#10'I' +#3#243#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#20'Border'
+'temHeight'#2#0#11'MultiSelect'#9#10'OnDblClick'#7'"FormsAddToAutoCreatedFor' +'Spacing.Around'#2#6#10'ItemHeight'#2#0#11'MultiSelect'#9#10'OnDblClick'#7'"'
+'msBtnClick'#8'TabOrder'#2#1#0#0#9'TCheckBox'#31'FormsAutoCreateNewFormsChec' +'FormsAddToAutoCreatedFormsBtnClick'#8'TabOrder'#2#1#8'TopIndex'#2#255#0#0#9
+'kBox'#22'AnchorSideLeft.Control'#7#29'FormsAddToAutoCreatedFormsBtn'#21'Anc' +'TCheckBox'#31'FormsAutoCreateNewFormsCheckBox'#22'AnchorSideLeft.Control'#7
,'horSideTop.Control'#7#23'FormsAutoCreatedListBox'#4'Left'#2#6#6'Height'#2#17 ,#29'FormsAddToAutoCreatedFormsBtn'#21'AnchorSideTop.Control'#7#23'FormsAutoC'
+#3'Top'#3#158#1#5'Width'#3#241#1#5'Align'#7#8'alBottom'#20'BorderSpacing.Aro' +'reatedListBox'#4'Left'#2#6#6'Height'#2#22#3'Top'#3#142#1#5'Width'#3#247#1#5
+'und'#2#6#7'Caption'#6#31'FormsAutoCreateNewFormsCheckBox'#8'TabOrder'#2#2#0 +'Align'#7#8'alBottom'#20'BorderSpacing.Around'#2#6#7'Caption'#6#31'FormsAuto'
+#0#0#5'TPage'#10'LazDocPage'#7'Caption'#6#10'LazDocPage'#11'ClientWidth'#3 +'CreateNewFormsCheckBox'#8'TabOrder'#2#2#0#0#0#5'TPage'#10'LazDocPage'#7'Cap'
+#253#1#12'ClientHeight'#3#171#1#0#9'TGroupBox'#19'LazDocPathsGroupBox'#4'Lef' +'tion'#6#10'LazDocPage'#11'ClientWidth'#3#3#2#12'ClientHeight'#3#170#1#0#9'T'
+'t'#2#6#6'Height'#3#192#0#3'Top'#2#6#5'Width'#3#241#1#5'Align'#7#5'alTop'#8 +'GroupBox'#19'LazDocPathsGroupBox'#4'Left'#2#6#6'Height'#3#207#0#3'Top'#2#6#5
+'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'LazDocPathsGroupBo' +'Width'#3#247#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Around'#2
+'x'#12'ClientHeight'#3#174#0#11'ClientWidth'#3#237#1#8'TabOrder'#2#0#0#8'TLi' +#6#7'Caption'#6#19'LazDocPathsGroupBox'#12'ClientHeight'#3#203#0#11'ClientWi'
+'stBox'#13'LazDocListBox'#22'AnchorSideLeft.Control'#7#19'LazDocPathsGroupBo' +'dth'#3#243#1#8'TabOrder'#2#0#0#8'TListBox'#13'LazDocListBox'#22'AnchorSideL'
+'x'#21'AnchorSideTop.Control'#7#19'LazDocPathsGroupBox'#23'AnchorSideRight.C' +'eft.Control'#7#19'LazDocPathsGroupBox'#21'AnchorSideTop.Control'#7#19'LazDo'
+'ontrol'#7#19'LazDocPathsGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4 +'cPathsGroupBox'#23'AnchorSideRight.Control'#7#19'LazDocPathsGroupBox'#20'An'
+'Left'#2#6#6'Height'#2'l'#3'Top'#2#6#5'Width'#3#225#1#7'Anchors'#11#5'akTop' +'chorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'l'#3'Top'#2#6#5
+#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#8'Ta' +'Width'#3#231#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpaci'
+'bOrder'#2#0#0#0#5'TEdit'#14'LazDocPathEdit'#22'AnchorSideLeft.Control'#7#19 +'ng.Around'#2#6#10'ItemHeight'#2#0#8'TabOrder'#2#0#8'TopIndex'#2#255#0#0#5'T'
+'LazDocPathsGroupBox'#21'AnchorSideTop.Control'#7#13'LazDocListBox'#18'Ancho' +'Edit'#14'LazDocPathEdit'#22'AnchorSideLeft.Control'#7#19'LazDocPathsGroupBo'
+'rSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#18'LazDocBrowse' +'x'#21'AnchorSideTop.Control'#7#13'LazDocListBox'#18'AnchorSideTop.Side'#7#9
+'Button'#4'Left'#2#6#6'Height'#2#27#3'Top'#2'x'#5'Width'#3#201#1#7'Anchors' +'asrBottom'#23'AnchorSideRight.Control'#7#18'LazDocBrowseButton'#4'Left'#2#6
+#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#6#17'BorderSpac' +#6'Height'#2#27#3'Top'#2'x'#5'Width'#3#207#1#7'Anchors'#11#5'akTop'#6'akLeft'
+'ing.Top'#2#6#20'BorderSpacing.Bottom'#2#6#8'TabOrder'#2#1#4'Text'#6#14'LazD' +#7'akRight'#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#20'Border'
+'ocPathEdit'#0#0#7'TButton'#18'LazDocBrowseButton'#22'AnchorSideLeft.Control' +'Spacing.Bottom'#2#6#8'TabOrder'#2#1#4'Text'#6#14'LazDocPathEdit'#0#0#7'TBut'
+#7#14'LazDocPathEdit'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTo' +'ton'#18'LazDocBrowseButton'#22'AnchorSideLeft.Control'#7#14'LazDocPathEdit'
+'p.Control'#7#14'LazDocPathEdit'#23'AnchorSideRight.Control'#7#19'LazDocPath' +#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#14'LazDo'
+'sGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Cont' +'cPathEdit'#23'AnchorSideRight.Control'#7#19'LazDocPathsGroupBox'#20'AnchorS'
+'rol'#7#14'LazDocPathEdit'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3 +'ideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#14'LazDocPathE'
+#207#1#6'Height'#2#27#3'Top'#2'x'#5'Width'#2#24#7'Anchors'#11#5'akTop'#7'akR' +'dit'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#213#1#6'Height'#2#27
+#3'Top'#2'x'#5'Width'#2#24#7'Anchors'#11#5'akTop'#7'akRight'#8'akBottom'#0#19
+'BorderSpacing.Right'#2#6#7'Caption'#6#3'...'#7'OnClick'#7#23'LazDocBrowseBu'
+'ttonClick'#8'TabOrder'#2#2#0#0#7'TBitBtn'#19'LazDocAddPathButton'#22'Anchor'
+'SideLeft.Control'#7#19'LazDocPathsGroupBox'#21'AnchorSideTop.Control'#7#14
+'LazDocPathEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'
+#2#29#3'Top'#3#153#0#5'Width'#3#158#0#8'AutoSize'#9#20'BorderSpacing.Around'
+#2#6#7'Caption'#6#19'LazDocAddPathButton'#9'NumGlyphs'#2#0#7'OnClick'#7#24'L'
+'azDocAddPathButtonClick'#8'TabOrder'#2#3#0#0#7'TBitBtn'#22'LazDocDeletePath'
+'Button'#22'AnchorSideLeft.Control'#7#19'LazDocAddPathButton'#19'AnchorSideL'
+'eft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#14'LazDocPathEdit'#18
+'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#170#0#6'Height'#2#29#3'Top'#3
+#153#0#5'Width'#3#175#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'
+#6#22'LazDocDeletePathButton'#9'NumGlyphs'#2#0#7'OnClick'#7#27'LazDocDeleteP'
+'athButtonClick'#8'TabOrder'#2#4#0#0#0#0#5'TPage'#8'SavePage'#7'Caption'#6#8
+'SavePage'#11'ClientWidth'#3#3#2#12'ClientHeight'#3#170#1#0#9'TCheckBox'#26
+'SaveClosedUnitInfoCheckBox'#4'Left'#2#6#6'Height'#2#22#3'Top'#2#6#5'Width'#3
+#247#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'#6#26'Save'
+'ClosedUnitInfoCheckBox'#8'TabOrder'#2#0#0#0#9'TCheckBox'#31'SaveOnlyProject'
+'UnitInfoCheckBox'#21'AnchorSideTop.Control'#7#26'SaveClosedUnitInfoCheckBox'
+#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#22#3'Top'#2'"'
+#5'Width'#3#247#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'
+#6#31'SaveOnlyProjectUnitInfoCheckBox'#8'TabOrder'#2#1#0#0#11'TRadioGroup'#29
+'SaveSessionLocationRadioGroup'#21'AnchorSideTop.Control'#7#31'SaveOnlyProje'
+'ctUnitInfoCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRigh'
+'t.Control'#7#8'SavePage'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6
+#6'Height'#2#4#3'Top'#2'D'#5'Width'#3#247#1#5'Align'#7#5'alTop'#8'AutoFill'#9
+#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#20'BorderSpacing.Around'#2#6#7'Capt'
+'ion'#6#29'SaveSessionLocationRadioGroup'#28'ChildSizing.LeftRightSpacing'#2
+#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7
+#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomoge'
+'nousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'C'
+'hildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29
+'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1#8'TabOrd'
+'er'#2#2#0#0#0#5'TPage'#15'VersionInfoPage'#7'Caption'#6#15'VersionInfoPage'
+#11'ClientWidth'#3#3#2#12'ClientHeight'#3#170#1#0#9'TGroupBox'#19'VersionInf'
+'oGroupBox'#22'AnchorSideLeft.Control'#7#24'LanguageSettingsGroupBox'#18'Anc'
+'horSideTop.Side'#7#9'asrBottom'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'L'
+'eft'#2#6#6'Height'#2'd'#3'Top'#2#29#5'Width'#3#247#1#5'Align'#7#5'alTop'#8
+'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#17'Version Numbering'
,#12'ClientHeight'#2'Q'#11'ClientWidth'#3#243#1#8'TabOrder'#2#1#0#6'TLabel'#12
+'VersionLabel'#22'AnchorSideLeft.Control'#7#19'VersionInfoGroupBox'#21'Ancho'
+'rSideTop.Control'#7#19'VersionInfoGroupBox'#4'Left'#2#6#6'Height'#2#14#3'To'
+'p'#2#6#5'Width'#2'('#20'BorderSpacing.Around'#2#6#7'Caption'#6#8'Version:'
+#11'ParentColor'#8#0#0#6'TLabel'#18'MajorRevisionLabel'#22'AnchorSideLeft.Co'
+'ntrol'#7#15'VersionSpinEdit'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'Anch'
+'orSideTop.Control'#7#19'VersionInfoGroupBox'#4'Left'#2'j'#6'Height'#2#14#3
+'Top'#2#6#5'Width'#2'K'#18'BorderSpacing.Left'#2#24#20'BorderSpacing.Around'
+#2#6#7'Caption'#6#15'Major Revision:'#11'ParentColor'#8#0#0#6'TLabel'#18'Min'
+'orRevisionLabel'#22'AnchorSideLeft.Control'#7#21'MajorRevisionSpinEdit'#19
+'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#19'VersionI'
+'nfoGroupBox'#4'Left'#3#206#0#6'Height'#2#14#3'Top'#2#6#5'Width'#2'J'#18'Bor'
+'derSpacing.Left'#2#24#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'Minor Re'
+'vision:'#11'ParentColor'#8#0#0#6'TLabel'#10'BuildLabel'#22'AnchorSideLeft.C'
+'ontrol'#7#21'MinorRevisionSpinEdit'#19'AnchorSideLeft.Side'#7#9'asrBottom'
+#21'AnchorSideTop.Control'#7#19'VersionInfoGroupBox'#4'Left'#3'2'#1#6'Height'
+#2#14#3'Top'#2#6#5'Width'#2#27#18'BorderSpacing.Left'#2#24#20'BorderSpacing.'
+'Around'#2#6#7'Caption'#6#6'Build:'#11'ParentColor'#8#0#0#9'TSpinEdit'#15'Ve'
+'rsionSpinEdit'#22'AnchorSideLeft.Control'#7#12'VersionLabel'#21'AnchorSideT'
+'op.Control'#7#12'VersionLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'
+#2#6#6'Height'#2#21#3'Top'#2#26#5'Width'#2'F'#8'MaxValue'#4#255#255#0#0#8'Ta'
+'bOrder'#2#0#0#0#9'TSpinEdit'#21'MajorRevisionSpinEdit'#22'AnchorSideLeft.Co'
+'ntrol'#7#18'MajorRevisionLabel'#21'AnchorSideTop.Control'#7#18'MajorRevisio'
+'nLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2'j'#6'Height'#2#21#3
+'Top'#2#26#5'Width'#2'F'#8'MaxValue'#4#255#255#0#0#8'TabOrder'#2#1#0#0#9'TSp'
+'inEdit'#21'MinorRevisionSpinEdit'#22'AnchorSideLeft.Control'#7#18'MinorRevi'
+'sionLabel'#21'AnchorSideTop.Control'#7#18'MinorRevisionLabel'#18'AnchorSide'
+'Top.Side'#7#9'asrBottom'#4'Left'#3#206#0#6'Height'#2#21#3'Top'#2#26#5'Width'
+#2'F'#8'MaxValue'#4#255#255#0#0#8'TabOrder'#2#2#0#0#9'TCheckBox"Automaticall'
+'yIncreaseBuildCheckBox'#22'AnchorSideLeft.Control'#7#19'VersionInfoGroupBox'
+#21'AnchorSideTop.Control'#7#15'VersionSpinEdit'#18'AnchorSideTop.Side'#7#9
+'asrBottom'#4'Left'#2#6#6'Height'#2#17#3'Top'#2';'#5'Width'#3#150#0#17'Borde'
+'rSpacing.Top'#2#6#20'BorderSpacing.Around'#2#6#7'Caption'#6#28'Automaticall'
+'y increase Build'#8'TabOrder'#2#4#0#0#9'TSpinEdit'#13'BuildSpinEdit'#22'Anc'
+'horSideLeft.Control'#7#10'BuildLabel'#21'AnchorSideTop.Control'#7#10'BuildL'
+'abel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3'2'#1#6'Height'#2#21#3
+'Top'#2#26#5'Width'#2'F'#8'MaxValue'#4#255#255#0#0#8'TabOrder'#2#3#0#0#0#9'T'
+'CheckBox'#22'UseVersionInfoCheckBox'#4'Left'#2#6#6'Height'#2#17#3'Top'#2#6#5
+'Width'#3#247#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'#6
+'"Include Version Info in executable'#8'OnChange'#7#28'UseVersionInfoCheckBo'
+'xChange'#8'TabOrder'#2#0#0#0#9'TGroupBox'#24'LanguageSettingsGroupBox'#18'A'
+'nchorSideTop.Side'#7#9'asrBottom'#20'AnchorSideRight.Side'#7#9'asrBottom'#4
+'Left'#2#6#6'Height'#2'G'#3'Top'#3#135#0#5'Width'#3#247#1#5'Align'#7#5'alTop'
+#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#16'Language Options'
+#12'ClientHeight'#2'4'#11'ClientWidth'#3#243#1#8'TabOrder'#2#2#0#6'TLabel'#22
+'LanguageSelectionLabel'#22'AnchorSideLeft.Control'#7#24'LanguageSettingsGro'
+'upBox'#21'AnchorSideTop.Control'#7#24'LanguageSettingsGroupBox'#4'Left'#2#6
+#6'Height'#2#14#3'Top'#2#6#5'Width'#2'b'#20'BorderSpacing.Around'#2#6#7'Capt'
+'ion'#6#19'Language Selection:'#11'ParentColor'#8#0#0#6'TLabel'#17'Character'
+'SetLabel'#22'AnchorSideLeft.Control'#7#25'LanguageSelectionComboBox'#19'Anc'
+'horSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#24'LanguageSet'
+'tingsGroupBox'#4'Left'#3#4#1#6'Height'#2#14#3'Top'#2#6#5'Width'#2'H'#20'Bor'
+'derSpacing.Around'#2#6#7'Caption'#6#14'Character Set:'#11'ParentColor'#8#0#0
+#9'TComboBox'#25'LanguageSelectionComboBox'#22'AnchorSideLeft.Control'#7#22
+'LanguageSelectionLabel'#21'AnchorSideTop.Control'#7#22'LanguageSelectionLab'
+'el'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'
+#2#26#5'Width'#3#248#0#17'BorderSpacing.Top'#2#2#20'BorderSpacing.Bottom'#2#6
+#10'ItemHeight'#2#0#8'TabOrder'#2#0#4'Text'#6#12'U.S. English'#0#0#9'TComboB'
+'ox'#20'CharacterSetComboBox'#22'AnchorSideLeft.Control'#7#17'CharacterSetLa'
+'bel'#21'AnchorSideTop.Control'#7#25'LanguageSelectionComboBox'#23'AnchorSid'
+'eRight.Control'#7#24'LanguageSettingsGroupBox'#20'AnchorSideRight.Side'#7#9
+'asrBottom'#4'Left'#3#4#1#6'Height'#2#21#3'Top'#2#26#5'Width'#3#233#0#7'Anch'
+'ors'#11#5'akTop'#6'akLeft'#7'akRight'#0#19'BorderSpacing.Right'#2#6#20'Bord'
+'erSpacing.Bottom'#2#6#10'ItemHeight'#2#0#8'TabOrder'#2#1#4'Text'#6#12'Multi'
,'lingual'#0#0#0#9'TGroupBox'#17'OtherInfoGroupBox'#18'AnchorSideTop.Side'#7#9
+'asrBottom'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2
+'k'#3'Top'#3#212#0#5'Width'#3#247#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'Bor'
+'derSpacing.Around'#2#6#7'Caption'#6#10'Other Info'#12'ClientHeight'#2'X'#11
+'ClientWidth'#3#243#1#8'TabOrder'#2#3#0#6'TLabel'#16'DescriptionLabel'#21'An'
+'chorSideTop.Control'#7#15'DescriptionEdit'#18'AnchorSideTop.Side'#7#9'asrCe'
+'nter'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#9#5'Width'#2':'#18'BorderSpacing.'
+'Left'#2#6#7'Caption'#6#12'Description:'#11'ParentColor'#8#0#0#6'TLabel'#14
+'CopyrightLabel'#22'AnchorSideLeft.Control'#7#16'DescriptionLabel'#21'Anchor'
+'SideTop.Control'#7#13'CopyrightEdit'#18'AnchorSideTop.Side'#7#9'asrCenter'#4
+'Left'#2#6#6'Height'#2#14#3'Top'#2'$'#5'Width'#2'4'#7'Caption'#6#10'Copyrigh'
+'t:'#11'ParentColor'#8#0#0#5'TEdit'#15'DescriptionEdit'#22'AnchorSideLeft.Co'
+'ntrol'#7#16'DescriptionLabel'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'Anc'
+'horSideTop.Control'#7#17'OtherInfoGroupBox'#23'AnchorSideRight.Control'#7#17
+'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2'J'#6'H'
+'eight'#2#21#3'Top'#2#6#5'Width'#3#163#1#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'akRight'#0#18'BorderSpacing.Left'#2#10#17'BorderSpacing.Top'#2#6#19'BorderS'
+'pacing.Right'#2#6#8'TabOrder'#2#0#0#0#5'TEdit'#13'CopyrightEdit'#22'AnchorS'
+'ideLeft.Control'#7#15'DescriptionEdit'#21'AnchorSideTop.Control'#7#15'Descr'
+'iptionEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Contro'
+'l'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2
+'J'#6'Height'#2#21#3'Top'#2'!'#5'Width'#3#163#1#7'Anchors'#11#5'akTop'#6'akL'
+'eft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#8'T'
+'abOrder'#2#1#0#0#7'TBitBtn'#20'AdditionalInfoButton'#21'AnchorSideTop.Contr'
+'ol'#7#13'CopyrightEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSide'
+'Right.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9'asrBott'
+'om'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#141#1#6'Height'#2#23
+#3'Top'#2'<'#5'Width'#2'`'#7'Anchors'#11#5'akTop'#7'akRight'#0#8'AutoSize'#9
+#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'Additional Info'#9'NumGlyphs'#2
+#0#7'OnClick'#7#25'AdditionalInfoButtonClick'#8'TabOrder'#2#2#0#0#0#0#5'TPag'
+'e'#8'i18nPage'#7'Caption'#6#4'i18n'#11'ClientWidth'#3#3#2#12'ClientHeight'#3
+#170#1#0#9'TGroupBox'#12'I18NGroupBox'#22'AnchorSideLeft.Control'#7#17'Other'
+'InfoGroupBox'#21'AnchorSideTop.Control'#7#19'VersionInfoGroupBox'#18'Anchor'
+'SideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#17'OtherInfoGrou'
+'pBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'T'#3
+'Top'#2'"'#5'Width'#3#247#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpaci'
+'ng.Around'#2#6#7'Caption'#6#12'i18n Options'#12'ClientHeight'#2'A'#11'Clien'
+'tWidth'#3#243#1#8'TabOrder'#2#0#0#6'TLabel'#13'PoOutDirLabel'#4'Left'#2#6#6
+'Height'#2#18#3'Top'#2#6#5'Width'#3#132#0#20'BorderSpacing.Around'#2#6#7'Cap'
+'tion'#6#20'PO Output Directory:'#11'ParentColor'#8#0#0#5'TEdit'#12'POOutDir'
+'Edit'#22'AnchorSideLeft.Control'#7#12'I18NGroupBox'#21'AnchorSideTop.Contro'
+'l'#7#13'PoOutDirLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideR'
+'ight.Control'#7#14'POOutDirButton'#4'Left'#2#6#6'Height'#2#27#3'Top'#2#30#5
+'Width'#3#207#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpaci'
+'ng.Left'#2#6#17'BorderSpacing.Top'#2#6#20'BorderSpacing.Bottom'#2#6#8'TabOr'
+'der'#2#0#4'Text'#6#12'POOutDirEdit'#0#0#7'TButton'#14'POOutDirButton'#21'An'
+'chorSideTop.Control'#7#12'POOutDirEdit'#23'AnchorSideRight.Control'#7#12'I1'
+'8NGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Con'
+'trol'#7#12'POOutDirEdit'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3
+#213#1#6'Height'#2#27#3'Top'#2#30#5'Width'#2#24#7'Anchors'#11#5'akTop'#7'akR'
+'ight'#8'akBottom'#0#19'BorderSpacing.Right'#2#6#7'Caption'#6#3'...'#7'OnCli' +'ight'#8'akBottom'#0#19'BorderSpacing.Right'#2#6#7'Caption'#6#3'...'#7'OnCli'
+'ck'#7#23'LazDocBrowseButtonClick'#8'TabOrder'#2#2#0#0#7'TBitBtn'#19'LazDocA' +'ck'#7#19'POOutDirButtonClick'#8'TabOrder'#2#1#0#0#0#9'TCheckBox'#18'EnableI'
+'ddPathButton'#22'AnchorSideLeft.Control'#7#19'LazDocPathsGroupBox'#21'Ancho' +'18NCheckBox'#4'Left'#2#6#6'Height'#2#22#3'Top'#2#6#5'Width'#3#247#1#5'Align'
+'rSideTop.Control'#7#14'LazDocPathEdit'#18'AnchorSideTop.Side'#7#9'asrBottom' +#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'#6#11'Enable i18n'#8'OnCh'
+#4'Left'#2#6#6'Height'#2#29#3'Top'#3#153#0#5'Width'#3#158#0#8'AutoSize'#9#20 +'ange'#7#24'EnableI18NCheckBoxChange'#8'TabOrder'#2#1#0#0#0#5'TPage'#8'MiscP'
+'BorderSpacing.Around'#2#6#7'Caption'#6#19'LazDocAddPathButton'#9'NumGlyphs' +'age'#7'Caption'#6#8'MiscPage'#11'ClientWidth'#3#3#2#12'ClientHeight'#3#170#1
+#2#0#7'OnClick'#7#24'LazDocAddPathButtonClick'#8'TabOrder'#2#3#0#0#7'TBitBtn' +#0#6'TBevel'#6'Bevel1'#22'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSid'
+#22'LazDocDeletePathButton'#22'AnchorSideLeft.Control'#7#19'LazDocAddPathBut' +'eTop.Control'#7'!MainUnitHasTitleStatementCheckBox'#18'AnchorSideTop.Side'#7
+'ton'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#14 +#9'asrBottom'#23'AnchorSideRight.Control'#7#8'MiscPage'#20'AnchorSideRight.S'
+'LazDocPathEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#170#0#6'Hei' +'ide'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#3#3'Top'#2'v'#5'Width'#3#247#1#7
+'ght'#2#29#3'Top'#3#153#0#5'Width'#3#175#0#8'AutoSize'#9#20'BorderSpacing.Ar' +'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#0#0
+'ound'#2#6#7'Caption'#6#22'LazDocDeletePathButton'#9'NumGlyphs'#2#0#7'OnClic' +#9'TCheckBox)MainUnitHasUsesSectionForAllUnitsCheckBox'#22'AnchorSideLeft.Co'
+'k'#7#27'LazDocDeletePathButtonClick'#8'TabOrder'#2#4#0#0#0#0#5'TPage'#8'Sav' +'ntrol'#7#8'MiscPage'#21'AnchorSideTop.Control'#7#30'MainUnitIsPascalSourceC'
+'ePage'#7'Caption'#6#8'SavePage'#11'ClientWidth'#3#253#1#12'ClientHeight'#3 +'heckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#22#3
+#171#1#0#9'TCheckBox'#26'SaveClosedUnitInfoCheckBox'#4'Left'#2#6#6'Height'#2 ,'Top'#2'"'#5'Width'#3'<'#1#20'BorderSpacing.Around'#2#6#7'Caption'#6')MainUn'
+#17#3'Top'#2#6#5'Width'#3#241#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around' +'itHasUsesSectionForAllUnitsCheckBox'#8'TabOrder'#2#0#0#0#9'TCheckBox''MainU'
+#2#6#7'Caption'#6#26'SaveClosedUnitInfoCheckBox'#8'TabOrder'#2#0#0#0#9'TChec' +'nitHasCreateFormStatementsCheckBox'#22'AnchorSideLeft.Control'#7#8'MiscPage'
+'kBox'#31'SaveOnlyProjectUnitInfoCheckBox'#21'AnchorSideTop.Control'#7#26'Sa' +#21'AnchorSideTop.Control'#7')MainUnitHasUsesSectionForAllUnitsCheckBox'#18
+'veClosedUnitInfoCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6 +'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#22#3'Top'#2'>'#5
+#6'Height'#2#17#3'Top'#2#29#5'Width'#3#241#1#5'Align'#7#5'alTop'#20'BorderSp' +'Width'#3'@'#1#20'BorderSpacing.Around'#2#6#7'Caption'#6'''MainUnitHasCreate'
+'acing.Around'#2#6#7'Caption'#6#31'SaveOnlyProjectUnitInfoCheckBox'#8'TabOrd' +'FormStatementsCheckBox'#8'TabOrder'#2#1#0#0#9'TCheckBox'#30'MainUnitIsPasca'
+'er'#2#1#0#0#11'TRadioGroup'#29'SaveSessionLocationRadioGroup'#21'AnchorSide' +'lSourceCheckBox'#22'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSideTop.'
+'Top.Control'#7#31'SaveOnlyProjectUnitInfoCheckBox'#18'AnchorSideTop.Side'#7 +'Control'#7#8'MiscPage'#4'Left'#2#6#6'Height'#2#22#3'Top'#2#6#5'Width'#3#238
+#9'asrBottom'#23'AnchorSideRight.Control'#7#8'SavePage'#20'AnchorSideRight.S' +#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#30'MainUnitIsPascalSourceCheckB'
+'ide'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#4#3'Top'#2':'#5'Width'#3#241#1#5 +'ox'#8'TabOrder'#2#2#0#0#9'TCheckBox!MainUnitHasTitleStatementCheckBox'#22'A'
+'Align'#7#5'alTop'#8'AutoFill'#9#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#20 +'nchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSideTop.Control'#7'''MainUnit'
+'BorderSpacing.Around'#2#6#7'Caption'#6#29'SaveSessionLocationRadioGroup'#28 +'HasCreateFormStatementsCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Le'
+'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'C' +'ft'#2#6#6'Height'#2#22#3'Top'#2'Z'#5'Width'#3#7#1#20'BorderSpacing.Around'#2
+'hildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing' +#6#7'Caption'#6'!MainUnitHasTitleStatementCheckBox'#8'TabOrder'#2#5#0#0#9'TC'
+'.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHoriz' +'heckBox'#16'RunnableCheckBox'#22'AnchorSideLeft.Control'#7#8'MiscPage'#21'A'
+'ontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChi' +'nchorSideTop.Control'#7#6'Bevel1'#4'Left'#2#6#6'Height'#2#22#3'Top'#2'|'#5
+'lds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSiz' +'Width'#3#145#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#16'RunnableCheckBo'
+'ing.ControlsPerLine'#2#1#8'TabOrder'#2#2#0#0#0#5'TPage'#15'VersionInfoPage' +'x'#8'TabOrder'#2#3#0#0#9'TCheckBox'#19'AlwaysBuildCheckBox'#22'AnchorSideLe'
+#7'Caption'#6#15'VersionInfoPage'#11'ClientWidth'#3#253#1#12'ClientHeight'#3 +'ft.Control'#7#8'MiscPage'#21'AnchorSideTop.Control'#7#16'RunnableCheckBox'
+#181#1#0#9'TGroupBox'#19'VersionInfoGroupBox'#22'AnchorSideLeft.Control'#7#24 +#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#22#3'Top'#3
+'LanguageSettingsGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#20'AnchorSi' +#152#0#5'Width'#3#161#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'AlwaysB'
+'deRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'd'#3'Top'#2#29#5'Width' +'uildCheckBox'#8'TabOrder'#2#4#0#0#9'TCheckBox'#22'LRSInOutputDirCheckBox'#22
+#3#241#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Ca' +'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSideTop.Control'#7#19'Always'
+'ption'#6#17'Version Numbering'#12'ClientHeight'#2'R'#11'ClientWidth'#3#237#1 +'BuildCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2
,#8'TabOrder'#2#1#0#6'TLabel'#12'VersionLabel'#22'AnchorSideLeft.Control'#7#19 +#22#3'Top'#3#180#0#5'Width'#3#184#0#20'BorderSpacing.Around'#2#6#7'Caption'#6
+'VersionInfoGroupBox'#21'AnchorSideTop.Control'#7#19'VersionInfoGroupBox'#4 +#22'LRSInOutputDirCheckBox'#8'TabOrder'#2#6#0#0#9'TGroupBox'#19'LFMResourceG'
+'Left'#2#6#6'Height'#2#14#3'Top'#2#6#5'Width'#2'('#20'BorderSpacing.Around'#2 +'roupBox'#22'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSideTop.Control'
+#6#7'Caption'#6#8'Version:'#11'ParentColor'#8#0#0#6'TLabel'#18'MajorRevision' +#7#22'LRSInOutputDirCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'Ancho'
+'Label'#22'AnchorSideLeft.Control'#7#15'VersionSpinEdit'#19'AnchorSideLeft.S' +'rSideRight.Control'#7#8'MiscPage'#20'AnchorSideRight.Side'#7#9'asrBottom'#4
+'ide'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#19'VersionInfoGroupBox'#4'L' +'Left'#2#6#6'Height'#2'Q'#3'Top'#3#208#0#5'Width'#3#247#1#7'Anchors'#11#5'ak'
+'eft'#2'j'#6'Height'#2#14#3'Top'#2#6#5'Width'#2'K'#18'BorderSpacing.Left'#2 +'Top'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'LF'
+#24#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'Major Revision:'#11'ParentC' +'MResourceGroupBox'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopB'
+'olor'#8#0#0#6'TLabel'#18'MinorRevisionLabel'#22'AnchorSideLeft.Control'#7#21 +'ottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChild'
+'MajorRevisionSpinEdit'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSide' +'Resize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'C'
+'Top.Control'#7#19'VersionInfoGroupBox'#4'Left'#3#206#0#6'Height'#2#14#3'Top' +'hildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVert'
+#2#6#5'Width'#2'J'#18'BorderSpacing.Left'#2#24#20'BorderSpacing.Around'#2#6#7 +'ical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTo'
+'Caption'#6#15'Minor Revision:'#11'ParentColor'#8#0#0#6'TLabel'#10'BuildLabe' +'pToBottom'#27'ChildSizing.ControlsPerLine'#2#1#12'ClientHeight'#2'>'#11'Cli'
+'l'#22'AnchorSideLeft.Control'#7#21'MinorRevisionSpinEdit'#19'AnchorSideLeft' +'entWidth'#3#243#1#8'TabOrder'#2#7#0#12'TRadioButton'#22'UseLRSFilesRadioBut'
+'.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#19'VersionInfoGroupBox'#4 +'ton'#4'Left'#2#6#6'Height'#2#25#3'Top'#2#6#5'Width'#3#231#1#7'Caption'#6#22
+'Left'#3'2'#1#6'Height'#2#14#3'Top'#2#6#5'Width'#2#27#18'BorderSpacing.Left' +'UseLRSFilesRadioButton'#7'Checked'#9#14'ParentShowHint'#8#8'ShowHint'#9#5'S'
+#2#24#20'BorderSpacing.Around'#2#6#7'Caption'#6#6'Build:'#11'ParentColor'#8#0 +'tate'#7#9'cbChecked'#8'TabOrder'#2#0#0#0#12'TRadioButton'#26'UseFPCResource'
+#0#9'TSpinEdit'#15'VersionSpinEdit'#22'AnchorSideLeft.Control'#7#12'VersionL' +'sRadioButton'#4'Left'#2#6#6'Height'#2#25#3'Top'#2#31#5'Width'#3#231#1#7'Cap'
+'abel'#21'AnchorSideTop.Control'#7#12'VersionLabel'#18'AnchorSideTop.Side'#7 +'tion'#6#26'UseFPCResourcesRadioButton'#14'ParentShowHint'#8#8'ShowHint'#9#8
+#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2#26#5'Width'#2'F'#8'MaxValu' +'TabOrder'#2#1#0#0#0#0#0#12'TButtonPanel'#11'ButtonPanel'#4'Left'#2#6#6'Heig'
+'e'#4#255#255#0#0#8'TabOrder'#2#0#0#0#9'TSpinEdit'#21'MajorRevisionSpinEdit' +'ht'#2'$'#3'Top'#3#203#1#5'Width'#3#249#1#8'TabOrder'#2#1#11'ShowButtons'#11
+#22'AnchorSideLeft.Control'#7#18'MajorRevisionLabel'#21'AnchorSideTop.Contro' +#4'pbOK'#8'pbCancel'#6'pbHelp'#0#9'ShowBevel'#8#0#0#22'TSelectDirectoryDialo'
+'l'#7#18'MajorRevisionLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2 +'g'#21'SelectDirectoryDialog'#11'FilterIndex'#2#0#4'left'#2'X'#3'top'#3'p'#1
+'j'#6'Height'#2#21#3'Top'#2#26#5'Width'#2'F'#8'MaxValue'#4#255#255#0#0#8'Tab' +#0#0#18'TOpenPictureDialog'#18'OpenPictureDialog1'#4'left'#2'u'#3'top'#3'p'#1
+'Order'#2#1#0#0#9'TSpinEdit'#21'MinorRevisionSpinEdit'#22'AnchorSideLeft.Con' +#0#0#18'TSavePictureDialog'#18'SavePictureDialog1'#5'Title'#6#12'Save file a'
+'trol'#7#18'MinorRevisionLabel'#21'AnchorSideTop.Control'#7#18'MinorRevision' +'s'#4'left'#3#146#0#3'top'#3'p'#1#0#0#0
+'Label'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#206#0#6'Height'#2#21
+#3'Top'#2#26#5'Width'#2'F'#8'MaxValue'#4#255#255#0#0#8'TabOrder'#2#2#0#0#9'T'
+'CheckBox"AutomaticallyIncreaseBuildCheckBox'#22'AnchorSideLeft.Control'#7#19
+'VersionInfoGroupBox'#21'AnchorSideTop.Control'#7#15'VersionSpinEdit'#18'Anc'
+'horSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#17#3'Top'#2';'#5'Wi'
+'dth'#3#150#0#17'BorderSpacing.Top'#2#6#20'BorderSpacing.Around'#2#6#7'Capti'
+'on'#6#28'Automatically increase Build'#8'TabOrder'#2#4#0#0#9'TSpinEdit'#13
+'BuildSpinEdit'#22'AnchorSideLeft.Control'#7#10'BuildLabel'#21'AnchorSideTop'
+'.Control'#7#10'BuildLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3
+'2'#1#6'Height'#2#21#3'Top'#2#26#5'Width'#2'F'#8'MaxValue'#4#255#255#0#0#8'T'
+'abOrder'#2#3#0#0#0#9'TCheckBox'#22'UseVersionInfoCheckBox'#4'Left'#2#6#6'He'
+'ight'#2#17#3'Top'#2#6#5'Width'#3#241#1#5'Align'#7#5'alTop'#20'BorderSpacing'
+'.Around'#2#6#7'Caption'#6'"Include Version Info in executable'#8'OnChange'#7
+#28'UseVersionInfoCheckBoxChange'#8'TabOrder'#2#0#0#0#9'TGroupBox'#24'Langua'
+'geSettingsGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#20'AnchorSideRigh'
+'t.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'G'#3'Top'#3#135#0#5'Width'#3
+#241#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Capt'
+'ion'#6#16'Language Options'#12'ClientHeight'#2'5'#11'ClientWidth'#3#237#1#8
+'TabOrder'#2#2#0#6'TLabel'#22'LanguageSelectionLabel'#22'AnchorSideLeft.Cont'
+'rol'#7#24'LanguageSettingsGroupBox'#21'AnchorSideTop.Control'#7#24'Language'
+'SettingsGroupBox'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#6#5'Width'#2'b'#20'Bo'
+'rderSpacing.Around'#2#6#7'Caption'#6#19'Language Selection:'#11'ParentColor'
+#8#0#0#6'TLabel'#17'CharacterSetLabel'#22'AnchorSideLeft.Control'#7#25'Langu'
+'ageSelectionComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideT'
+'op.Control'#7#24'LanguageSettingsGroupBox'#4'Left'#3#4#1#6'Height'#2#14#3'T'
+'op'#2#6#5'Width'#2'H'#20'BorderSpacing.Around'#2#6#7'Caption'#6#14'Characte'
+'r Set:'#11'ParentColor'#8#0#0#9'TComboBox'#25'LanguageSelectionComboBox'#22
+'AnchorSideLeft.Control'#7#22'LanguageSelectionLabel'#21'AnchorSideTop.Contr'
+'ol'#7#22'LanguageSelectionLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Le'
+'ft'#2#6#6'Height'#2#21#3'Top'#2#26#5'Width'#3#248#0#17'BorderSpacing.Top'#2
+#2#20'BorderSpacing.Bottom'#2#6#10'ItemHeight'#2#13#8'TabOrder'#2#0#4'Text'#6
+#12'U.S. English'#0#0#9'TComboBox'#20'CharacterSetComboBox'#22'AnchorSideLef'
+'t.Control'#7#17'CharacterSetLabel'#21'AnchorSideTop.Control'#7#25'LanguageS'
+'electionComboBox'#23'AnchorSideRight.Control'#7#24'LanguageSettingsGroupBox'
+#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#4#1#6'Height'#2#21#3'Top'
+#2#26#5'Width'#3#227#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#19'Bord'
+'erSpacing.Right'#2#6#20'BorderSpacing.Bottom'#2#6#10'ItemHeight'#2#13#8'Tab'
+'Order'#2#1#4'Text'#6#12'Multilingual'#0#0#0#9'TGroupBox'#17'OtherInfoGroupB'
,'ox'#18'AnchorSideTop.Side'#7#9'asrBottom'#20'AnchorSideRight.Side'#7#9'asrB'
+'ottom'#4'Left'#2#6#6'Height'#2'k'#3'Top'#3#212#0#5'Width'#3#241#1#5'Align'#7
+#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#10'Other I'
+'nfo'#12'ClientHeight'#2'Y'#11'ClientWidth'#3#237#1#8'TabOrder'#2#3#0#6'TLab'
+'el'#16'DescriptionLabel'#21'AnchorSideTop.Control'#7#15'DescriptionEdit'#18
+'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#9#5
+'Width'#2':'#18'BorderSpacing.Left'#2#6#7'Caption'#6#12'Description:'#11'Par'
+'entColor'#8#0#0#6'TLabel'#14'CopyrightLabel'#22'AnchorSideLeft.Control'#7#16
+'DescriptionLabel'#21'AnchorSideTop.Control'#7#13'CopyrightEdit'#18'AnchorSi'
+'deTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#14#3'Top'#2'$'#5'Width'#2
+'4'#7'Caption'#6#10'Copyright:'#11'ParentColor'#8#0#0#5'TEdit'#15'Descriptio'
+'nEdit'#22'AnchorSideLeft.Control'#7#16'DescriptionLabel'#19'AnchorSideLeft.'
+'Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#17'OtherInfoGroupBox'#23'A'
+'nchorSideRight.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9
+'asrBottom'#4'Left'#2'J'#6'Height'#2#21#3'Top'#2#6#5'Width'#3#157#1#7'Anchor'
+'s'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#10#17'Border'
+'Spacing.Top'#2#6#19'BorderSpacing.Right'#2#6#8'TabOrder'#2#0#0#0#5'TEdit'#13
+'CopyrightEdit'#22'AnchorSideLeft.Control'#7#15'DescriptionEdit'#21'AnchorSi'
+'deTop.Control'#7#15'DescriptionEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'
+#23'AnchorSideRight.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'
+#7#9'asrBottom'#4'Left'#2'J'#6'Height'#2#21#3'Top'#2'!'#5'Width'#3#157#1#7'A'
+'nchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#19'Bor'
+'derSpacing.Right'#2#6#8'TabOrder'#2#1#0#0#7'TBitBtn'#20'AdditionalInfoButto'
+'n'#21'AnchorSideTop.Control'#7#13'CopyrightEdit'#18'AnchorSideTop.Side'#7#9
+'asrBottom'#23'AnchorSideRight.Control'#7#17'OtherInfoGroupBox'#20'AnchorSid'
+'eRight.Side'#7#9'asrBottom'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'
+#3#135#1#6'Height'#2#23#3'Top'#2'<'#5'Width'#2'`'#7'Anchors'#11#5'akTop'#7'a'
+'kRight'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'Additi'
+'onal Info'#9'NumGlyphs'#2#0#7'OnClick'#7#25'AdditionalInfoButtonClick'#8'Ta'
+'bOrder'#2#2#0#0#0#0#5'TPage'#8'i18nPage'#7'Caption'#6#4'i18n'#11'ClientWidt'
+'h'#3#253#1#12'ClientHeight'#3#171#1#0#9'TGroupBox'#12'I18NGroupBox'#22'Anch'
+'orSideLeft.Control'#7#17'OtherInfoGroupBox'#21'AnchorSideTop.Control'#7#19
+'VersionInfoGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRig'
+'ht.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'
+#4'Left'#2#6#6'Height'#2'T'#3'Top'#2'"'#5'Width'#3#241#1#5'Align'#7#5'alTop'
+#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#12'i18n Options'#12
+'ClientHeight'#2'B'#11'ClientWidth'#3#237#1#8'TabOrder'#2#0#0#6'TLabel'#13'P'
+'oOutDirLabel'#4'Left'#2#6#6'Height'#2#18#3'Top'#2#6#5'Width'#3#132#0#20'Bor'
+'derSpacing.Around'#2#6#7'Caption'#6#20'PO Output Directory:'#11'ParentColor'
+#8#0#0#5'TEdit'#12'POOutDirEdit'#22'AnchorSideLeft.Control'#7#12'I18NGroupBo'
+'x'#21'AnchorSideTop.Control'#7#13'PoOutDirLabel'#18'AnchorSideTop.Side'#7#9
+'asrBottom'#23'AnchorSideRight.Control'#7#14'POOutDirButton'#4'Left'#2#6#6'H'
+'eight'#2#27#3'Top'#2#30#5'Width'#3#201#1#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'akRight'#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#20'BorderSp'
+'acing.Bottom'#2#6#8'TabOrder'#2#0#4'Text'#6#12'POOutDirEdit'#0#0#7'TButton'
+#14'POOutDirButton'#21'AnchorSideTop.Control'#7#12'POOutDirEdit'#23'AnchorSi'
+'deRight.Control'#7#12'I18NGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'
+#24'AnchorSideBottom.Control'#7#12'POOutDirEdit'#21'AnchorSideBottom.Side'#7
+#9'asrBottom'#4'Left'#3#207#1#6'Height'#2#27#3'Top'#2#30#5'Width'#2#24#7'Anc'
+'hors'#11#5'akTop'#7'akRight'#8'akBottom'#0#19'BorderSpacing.Right'#2#6#7'Ca'
+'ption'#6#3'...'#7'OnClick'#7#19'POOutDirButtonClick'#8'TabOrder'#2#1#0#0#0#9
+'TCheckBox'#18'EnableI18NCheckBox'#4'Left'#2#6#6'Height'#2#22#3'Top'#2#6#5'W'
+'idth'#3#241#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'#6
+#11'Enable i18n'#8'OnChange'#7#24'EnableI18NCheckBoxChange'#8'TabOrder'#2#1#0
+#0#0#5'TPage'#8'MiscPage'#7'Caption'#6#8'MiscPage'#11'ClientWidth'#3#253#1#12
+'ClientHeight'#3#171#1#0#6'TBevel'#6'Bevel1'#22'AnchorSideLeft.Control'#7#8
+'MiscPage'#21'AnchorSideTop.Control'#7'!MainUnitHasTitleStatementCheckBox'#18
+'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#8'MiscPage'
+#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#3#3'Top'#2
+'v'#5'Width'#3#241#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'Border'
+'Spacing.Around'#2#6#0#0#9'TCheckBox)MainUnitHasUsesSectionForAllUnitsCheckB'
+'ox'#22'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSideTop.Control'#7#30
+'MainUnitIsPascalSourceCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Lef'
+'t'#2#6#6'Height'#2#22#3'Top'#2'"'#5'Width'#3'<'#1#20'BorderSpacing.Around'#2
,#6#7'Caption'#6')MainUnitHasUsesSectionForAllUnitsCheckBox'#8'TabOrder'#2#0#0
+#0#9'TCheckBox''MainUnitHasCreateFormStatementsCheckBox'#22'AnchorSideLeft.C'
+'ontrol'#7#8'MiscPage'#21'AnchorSideTop.Control'#7')MainUnitHasUsesSectionFo'
+'rAllUnitsCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Heig'
+'ht'#2#22#3'Top'#2'>'#5'Width'#3'@'#1#20'BorderSpacing.Around'#2#6#7'Caption'
+#6'''MainUnitHasCreateFormStatementsCheckBox'#8'TabOrder'#2#1#0#0#9'TCheckBo'
+'x'#30'MainUnitIsPascalSourceCheckBox'#22'AnchorSideLeft.Control'#7#8'MiscPa'
+'ge'#21'AnchorSideTop.Control'#7#8'MiscPage'#4'Left'#2#6#6'Height'#2#22#3'To'
+'p'#2#6#5'Width'#3#238#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#30'MainUn'
+'itIsPascalSourceCheckBox'#8'TabOrder'#2#2#0#0#9'TCheckBox!MainUnitHasTitleS'
+'tatementCheckBox'#22'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSideTop'
+'.Control'#7'''MainUnitHasCreateFormStatementsCheckBox'#18'AnchorSideTop.Sid'
+'e'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#22#3'Top'#2'Z'#5'Width'#3#7#1#20
+'BorderSpacing.Around'#2#6#7'Caption'#6'!MainUnitHasTitleStatementCheckBox'#8
+'TabOrder'#2#5#0#0#9'TCheckBox'#16'RunnableCheckBox'#22'AnchorSideLeft.Contr'
+'ol'#7#8'MiscPage'#21'AnchorSideTop.Control'#7#6'Bevel1'#4'Left'#2#6#6'Heigh'
+'t'#2#22#3'Top'#2'|'#5'Width'#3#145#0#20'BorderSpacing.Around'#2#6#7'Caption'
+#6#16'RunnableCheckBox'#8'TabOrder'#2#3#0#0#9'TCheckBox'#19'AlwaysBuildCheck'
+'Box'#22'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSideTop.Control'#7#16
+'RunnableCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Heigh'
+'t'#2#22#3'Top'#3#152#0#5'Width'#3#161#0#20'BorderSpacing.Around'#2#6#7'Capt'
+'ion'#6#19'AlwaysBuildCheckBox'#8'TabOrder'#2#4#0#0#9'TCheckBox'#22'LRSInOut'
+'putDirCheckBox'#22'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSideTop.C'
+'ontrol'#7#19'AlwaysBuildCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'L'
+'eft'#2#6#6'Height'#2#22#3'Top'#3#180#0#5'Width'#3#184#0#20'BorderSpacing.Ar'
+'ound'#2#6#7'Caption'#6#22'LRSInOutputDirCheckBox'#8'TabOrder'#2#6#0#0#0#0#12
+'TButtonPanel'#11'ButtonPanel'#4'Left'#2#6#6'Height'#2#26#3'Top'#3#213#1#5'W'
+'idth'#3#249#1#8'TabOrder'#2#1#11'ShowButtons'#11#4'pbOK'#8'pbCancel'#6'pbHe'
+'lp'#0#9'ShowBevel'#8#0#0#22'TSelectDirectoryDialog'#21'SelectDirectoryDialo'
+'g'#11'FilterIndex'#2#0#4'left'#2'X'#3'top'#3'p'#1#0#0#18'TOpenPictureDialog'
+#18'OpenPictureDialog1'#4'left'#2'u'#3'top'#3'p'#1#0#0#18'TSavePictureDialog'
+#18'SavePictureDialog1'#5'Title'#6#12'Save file as'#4'left'#3#146#0#3'top'#3
+'p'#1#0#0#0
]); ]);

View File

@ -38,11 +38,13 @@ interface
uses uses
Arrow, Buttons, StdCtrls, SysUtils, LCLProc, Classes, CodeToolManager, Arrow, Buttons, StdCtrls, SysUtils, LCLProc, Classes, CodeToolManager,
Controls, Dialogs, LCLIntf, LResources, ExtCtrls, Forms, Graphics, Spin, Controls, Dialogs, LCLIntf, LResources, ExtCtrls, Forms, Graphics, Spin,
FileUtil, IDEContextHelpEdit, EnvironmentOpts, LCLType, FileUtil, IDEContextHelpEdit, EnvironmentOpts, LCLType, ComCtrls, Math,
ButtonPanel,
IDEWindowIntf, IDEImagesIntf, ProjectIntf, IDEDialogs, IDEWindowIntf, IDEImagesIntf, ProjectIntf, IDEDialogs,
ProjectResources,
IDEOptionDefs, LazarusIDEStrConsts, Project, IDEProcs, W32VersionInfo, IDEOptionDefs, LazarusIDEStrConsts, Project, IDEProcs, W32VersionInfo,
VersionInfoAdditionalInfo, W32Manifest, ApplicationBundle, ExtDlgs, VersionInfoAdditionalInfo, W32Manifest, ApplicationBundle, ExtDlgs,
ButtonPanel, ComCtrls, Math, PackageDefs; PackageDefs;
type type
@ -108,6 +110,9 @@ type
RunnableCheckBox: TCheckBox; RunnableCheckBox: TCheckBox;
AlwaysBuildCheckBox: TCheckBox; AlwaysBuildCheckBox: TCheckBox;
LRSInOutputDirCheckBox: TCheckBox; LRSInOutputDirCheckBox: TCheckBox;
LFMResourceGroupBox: TGroupBox;
UseLRSFilesRadioButton: TRadioButton;
UseFPCResourcesRadioButton: TRadioButton;
// Lazdoc settings // Lazdoc settings
LazDocBrowseButton: TButton; LazDocBrowseButton: TButton;
@ -366,6 +371,11 @@ begin
RunnableCheckBox.Caption := lisProjectIsRunnable; RunnableCheckBox.Caption := lisProjectIsRunnable;
AlwaysBuildCheckBox.Caption := lisProjOptsAlwaysBuildEvenIfNothingChanged; AlwaysBuildCheckBox.Caption := lisProjOptsAlwaysBuildEvenIfNothingChanged;
LRSInOutputDirCheckBox.Caption := lisPutLrsFilesInOutputDirectory; LRSInOutputDirCheckBox.Caption := lisPutLrsFilesInOutputDirectory;
LFMResourceGroupBox.Caption:=lisLFMResourceType;
UseLRSFilesRadioButton.Caption:=lisLrsIncludeFiles;
UseLRSFilesRadioButton.Hint:=lisAutomaticallyConvertLfmFilesToLrsIncludeFiles;
UseFPCResourcesRadioButton.Caption:=lisFPCResources;
UseFPCResourcesRadioButton.Hint:=lisRequiresFPC24OrAboveLikeDelphiResources;
end; end;
procedure TProjectOptionsDialog.SetupVersionInfoPage(PageIndex: Integer); procedure TProjectOptionsDialog.SetupVersionInfoPage(PageIndex: Integer);
@ -442,6 +452,7 @@ begin
(pfSaveOnlyProjectUnits in AProject.Flags); (pfSaveOnlyProjectUnits in AProject.Flags);
SaveSessionLocationRadioGroup.ItemIndex:=ord(AProject.SessionStorage); SaveSessionLocationRadioGroup.ItemIndex:=ord(AProject.SessionStorage);
// misc
MainUnitIsPascalSourceCheckBox.Checked := MainUnitIsPascalSourceCheckBox.Checked :=
(pfMainUnitIsPascalSource in AProject.Flags); (pfMainUnitIsPascalSource in AProject.Flags);
MainUnitHasUsesSectionForAllUnitsCheckBox.Checked := MainUnitHasUsesSectionForAllUnitsCheckBox.Checked :=
@ -453,6 +464,10 @@ begin
RunnableCheckBox.Checked := (pfRunnable in AProject.Flags); RunnableCheckBox.Checked := (pfRunnable in AProject.Flags);
AlwaysBuildCheckBox.Checked := (pfAlwaysBuild in AProject.Flags); AlwaysBuildCheckBox.Checked := (pfAlwaysBuild in AProject.Flags);
LRSInOutputDirCheckBox.Checked := (pfLRSFilesInOutputDirectory in AProject.Flags); LRSInOutputDirCheckBox.Checked := (pfLRSFilesInOutputDirectory in AProject.Flags);
case AProject.Resources.LFMResourceType of
lfmrtLRS: UseLRSFilesRadioButton.Checked:=true;
lfmrtRes: UseFPCResourcesRadioButton.Checked:=true;
end;
// lazdoc // lazdoc
SplitString(Project.LazDocPaths,';',LazDocListBox.Items,true); SplitString(Project.LazDocPaths,';',LazDocListBox.Items,true);
@ -533,6 +548,10 @@ begin
SetProjectFlag(pfAlwaysBuild, AlwaysBuildCheckBox.Checked); SetProjectFlag(pfAlwaysBuild, AlwaysBuildCheckBox.Checked);
SetProjectFlag(pfLRSFilesInOutputDirectory, LRSInOutputDirCheckBox.Checked); SetProjectFlag(pfLRSFilesInOutputDirectory, LRSInOutputDirCheckBox.Checked);
Project.Flags := NewFlags; Project.Flags := NewFlags;
if UseLRSFilesRadioButton.Checked then
Project.Resources.LFMResourceType:=lfmrtLRS
else
Project.Resources.LFMResourceType:=lfmrtRes;
if SaveSessionLocationRadioGroup.ItemIndex>=0 then if SaveSessionLocationRadioGroup.ItemIndex>=0 then
Project.SessionStorage:=LocalizedNameToProjectSessionStorage( Project.SessionStorage:=LocalizedNameToProjectSessionStorage(

View File

@ -38,16 +38,22 @@ interface
uses uses
Classes, SysUtils, Controls, LCLProc, LResources, FileUtil, Laz_XMLCfg, Classes, SysUtils, Controls, LCLProc, LResources, FileUtil, Laz_XMLCfg,
Dialogs, ProjectIntf, ProjectResourcesIntf, LazarusIDEStrConsts, Dialogs, ProjectIntf, ProjectResourcesIntf, LazarusIDEStrConsts, AvgLvlTree,
KeywordFuncLists, BasicCodeTools,
W32VersionInfo, W32Manifest, ProjectIcon, IDEProcs, DialogProcs, W32VersionInfo, W32Manifest, ProjectIcon, IDEProcs, DialogProcs,
CodeToolManager, CodeCache; CodeToolManager, CodeCache;
type type
TLFMResourceType = (
lfmrtLRS,
lfmrtRes
);
{ TProjectResources } { TProjectResources }
TProjectResources = class(TAbstractProjectResources) TProjectResources = class(TAbstractProjectResources)
private private
FLFMResourceType: TLFMResourceType;
FModified: Boolean; FModified: Boolean;
FOnModified: TNotifyEvent; FOnModified: TNotifyEvent;
FInModified: Boolean; FInModified: Boolean;
@ -66,6 +72,7 @@ type
FProjectIcon: TProjectIcon; FProjectIcon: TProjectIcon;
procedure SetFileNames(const MainFileName, TestDir: String); procedure SetFileNames(const MainFileName, TestDir: String);
procedure SetLFMResourceType(const AValue: TLFMResourceType);
procedure SetModified(const AValue: Boolean); procedure SetModified(const AValue: Boolean);
procedure EmbeddedObjectModified(Sender: TObject); procedure EmbeddedObjectModified(Sender: TObject);
function Update: Boolean; function Update: Boolean;
@ -101,12 +108,182 @@ type
property Modified: Boolean read FModified write SetModified; property Modified: Boolean read FModified write SetModified;
property OnModified: TNotifyEvent read FOnModified write FOnModified; property OnModified: TNotifyEvent read FOnModified write FOnModified;
property LFMResourceType: TLFMResourceType read FLFMResourceType write SetLFMResourceType;
end; end;
procedure ParseLFMResourceType(const Src: string; NestedComments: boolean;
out HasLRSIncludeDirective, HasRDirective: boolean);
function GuessLFMResourceType(Code: TCodeBuffer; out Typ: TLFMResourceType
): boolean;
const
LFMResourceTypeNames: array[TLFMResourceType] of string = (
'lrs',
'res'
);
function StrToLFMResourceType(const s: string): TLFMResourceType;
implementation implementation
const const
LazResourcesUnit = 'LResources'; LazResourcesUnit = 'LResources';
function StrToLFMResourceType(const s: string): TLFMResourceType;
var
t: TLFMResourceType;
begin
for t:=Low(TLFMResourceType) to high(TLFMResourceType) do
if SysUtils.CompareText(LFMResourceTypeNames[t],s)=0 then exit(t);
Result:=lfmrtLRS;
end;
procedure ParseLFMResourceType(const Src: string; NestedComments: boolean;
out HasLRSIncludeDirective, HasRDirective: boolean);
var
p: Integer;
d: PChar;
PointPos: PChar;
begin
HasLRSIncludeDirective:=false;
HasRDirective:=false;
p:=1;
while p<length(Src) do begin
p:=FindNextCompilerDirective(Src,p,NestedComments);
if p>length(Src) then break;
d:=@Src[p];
if (d[0]='{') and (d[1]='$') then begin
inc(d,2);
if (d[0] in ['r','R']) and (not IsIdentChar[d[1]]) then begin
// using resources
HasRDirective:=true;
end else if (d[0] in ['i','I'])
and ((d[1] in [' ',#9]) or (CompareIdentifiers(@d[0],'include')=0))
then begin
PointPos:=nil;
while not (d^ in [#0,#10,#13,'}']) do begin
if d^='.' then
PointPos:=d;
inc(d);
end;
if (PointPos<>nil) and (d-PointPos=4)
and (PointPos[1]='l') and (PointPos[2]='r') and (PointPos[3]='s') then
begin
// using include directive with lrs file
HasLRSIncludeDirective:=true;
end;
end;
end;
p:=FindCommentEnd(Src,p,NestedComments);
end;
end;
type
TLFMResourceTypesCacheItem = class
public
Code: TCodeBuffer;
CodeStamp: integer;
HasLRSIncludeDirective: boolean;
HasRDirective: boolean;
end;
function CompareLFMResTypCacheItems(Data1, Data2: Pointer): integer;
var
Item1: TLFMResourceTypesCacheItem absolute Data1;
Item2: TLFMResourceTypesCacheItem absolute Data2;
begin
Result:=CompareFilenames(Item1.Code.Filename,Item2.Code.Filename);
end;
function CompareCodeWithLFMResTypCacheItem(CodeBuf, CacheItem: Pointer): integer;
var
Code: TCodeBuffer absolute CodeBuf;
Item: TLFMResourceTypesCacheItem absolute CacheItem;
begin
Result:=CompareFilenames(Code.Filename,Item.Code.Filename);
end;
type
{ TLFMResourceTypesCache }
TLFMResourceTypesCache = class
public
Tree: TAvgLvlTree; //
constructor Create;
destructor Destroy; override;
procedure Parse(Code: TCodeBuffer;
out HasLRSIncludeDirective, HasRDirective: boolean);
end;
{ TLFMResourceTypesCache }
constructor TLFMResourceTypesCache.Create;
begin
Tree:=TAvgLvlTree.Create(@CompareLFMResTypCacheItems);
end;
destructor TLFMResourceTypesCache.Destroy;
begin
Tree.FreeAndClear;
FreeAndNil(Tree);
inherited Destroy;
end;
procedure TLFMResourceTypesCache.Parse(Code: TCodeBuffer; out
HasLRSIncludeDirective, HasRDirective: boolean);
var
Node: TAvgLvlTreeNode;
Item: TLFMResourceTypesCacheItem;
begin
Node:=Tree.FindKey(Code,@CompareCodeWithLFMResTypCacheItem);
if (Node<>nil) then begin
Item:=TLFMResourceTypesCacheItem(Node.Data);
if (Item.CodeStamp=Item.Code.ChangeStep) then begin
// cache valid
HasLRSIncludeDirective:=Item.HasLRSIncludeDirective;
HasRDirective:=Item.HasRDirective;
exit;
end;
end else
Item:=nil;
// update
if Item=nil then begin
Item:=TLFMResourceTypesCacheItem.Create;
Item.Code:=Code;
Tree.Add(Item);
end;
Item.CodeStamp:=Code.ChangeStep;
ParseLFMResourceType(Code.Source,
CodeToolBoss.GetNestedCommentsFlagForFile(Code.Filename),
Item.HasLRSIncludeDirective,Item.HasRDirective);
end;
var
LFMResourceTypesCache: TLFMResourceTypesCache = nil;
function GuessLFMResourceType(Code: TCodeBuffer; out Typ: TLFMResourceType
): boolean;
var
HasLRSIncludeDirective,HasRDirective: Boolean;
begin
if LFMResourceTypesCache=nil then
LFMResourceTypesCache:=TLFMResourceTypesCache.Create;
LFMResourceTypesCache.Parse(Code,HasLRSIncludeDirective,HasRDirective);
if HasLRSIncludeDirective then begin
Typ:=lfmrtLRS;
Result:=true;
end
else if HasRDirective then begin
Typ:=lfmrtRes;
Result:=true;
end
else begin
Typ:=lfmrtLRS;
Result:=false;
end;
end;
{ TProjectResources } { TProjectResources }
procedure TProjectResources.SetFileNames(const MainFileName, TestDir: String); procedure TProjectResources.SetFileNames(const MainFileName, TestDir: String);
@ -128,6 +305,13 @@ begin
end; end;
end; end;
procedure TProjectResources.SetLFMResourceType(const AValue: TLFMResourceType);
begin
if FLFMResourceType=AValue then exit;
FLFMResourceType:=AValue;
Modified:=true;
end;
procedure TProjectResources.SetModified(const AValue: Boolean); procedure TProjectResources.SetModified(const AValue: Boolean);
begin begin
if FInModified then if FInModified then
@ -292,6 +476,7 @@ begin
// todo: further split by classes // todo: further split by classes
with AConfig do with AConfig do
begin begin
SetDeleteValue(Path+'General/LFMResourceType/Value', LFMResourceTypeNames[LFMResourceType], LFMResourceTypeNames[lfmrtLRS]);
SetDeleteValue(Path+'General/Icon/Value', BoolToStr(ProjectIcon.IsEmpty), '-1'); SetDeleteValue(Path+'General/Icon/Value', BoolToStr(ProjectIcon.IsEmpty), '-1');
SetDeleteValue(Path+'General/UseXPManifest/Value', XPManifest.UseManifest, False); SetDeleteValue(Path+'General/UseXPManifest/Value', XPManifest.UseManifest, False);
SetDeleteValue(Path+'VersionInfo/UseVersionInfo/Value', VersionInfo.UseVersionInfo,false); SetDeleteValue(Path+'VersionInfo/UseVersionInfo/Value', VersionInfo.UseVersionInfo,false);
@ -321,6 +506,7 @@ begin
begin begin
ProjectIcon.IcoFileName := ChangeFileExt(FileName, '.ico'); ProjectIcon.IcoFileName := ChangeFileExt(FileName, '.ico');
LFMResourceType := StrToLFMResourceType(GetValue(Path+'General/LFMResourceType/Value', LFMResourceTypeNames[lfmrtLRS]));
ProjectIcon.IsEmpty := StrToBoolDef(GetValue(Path+'General/Icon/Value', '-1'), False); ProjectIcon.IsEmpty := StrToBoolDef(GetValue(Path+'General/Icon/Value', '-1'), False);
XPManifest.UseManifest := GetValue(Path+'General/UseXPManifest/Value', False); XPManifest.UseManifest := GetValue(Path+'General/UseXPManifest/Value', False);
VersionInfo.UseVersionInfo := GetValue(Path+'VersionInfo/UseVersionInfo/Value', False); VersionInfo.UseVersionInfo := GetValue(Path+'VersionInfo/UseVersionInfo/Value', False);
@ -639,5 +825,8 @@ begin
CleanCodeBuffer(LastlrsFilename, lrsFileName); CleanCodeBuffer(LastlrsFilename, lrsFileName);
end; end;
finalization
LFMResourceTypesCache.Free;
end. end.