option to add so called "XP" manifest into windows executable

git-svn-id: trunk@11379 -
This commit is contained in:
paul 2007-06-26 09:24:33 +00:00
parent 898fa2da1f
commit eaac2182c1
9 changed files with 677 additions and 421 deletions

2
.gitattributes vendored
View File

@ -1559,6 +1559,7 @@ ide/mainintf.pas svneol=native#text/pascal
ide/makeresstrdlg.lfm svneol=native#text/plain
ide/makeresstrdlg.lrs svneol=native#text/plain
ide/makeresstrdlg.pas svneol=native#text/pascal
ide/manifest.lrs svneol=native#text/pascal
ide/miscoptions.pas svneol=native#text/pascal
ide/msgquickfixes.pas svneol=native#text/plain
ide/msgview.lfm svneol=native#text/plain
@ -1636,6 +1637,7 @@ ide/versioninfoadditionalinfo.pas svneol=native#text/plain
ide/viewunit_dlg.lfm svneol=native#text/plain
ide/viewunit_dlg.lrs svneol=native#text/pascal
ide/viewunit_dlg.pp svneol=native#text/pascal
ide/w32manifest.pas svneol=native#text/pascal
ide/w32versioninfo.pas svneol=native#text/plain
ide/wordcompletion.pp svneol=native#text/pascal
ideintf/README.txt svneol=native#text/plain

View File

@ -1286,6 +1286,7 @@ resourcestring
dlgPOOutputSettings = 'Output Settings';
dlgPOTargetFileName = 'Target file name:';
dlgPOUseAppBundle = 'Use Application Bundle for running and debugging (darwin only)';
dlgPOUseManifest = 'Use manifest file to enable themes (windows only)';
dlgAutoCreateForms = 'Auto-create forms:';
dlgAvailableForms = 'Available forms:';
dlgAutoCreateNewForms = 'When creating new forms, add them to auto-created forms';

View File

@ -8072,14 +8072,22 @@ begin
if Result<>mrOk then exit;
// handle versioninfo
VersionInfo:=Project1.VersionInfo;
Result := VersionInfo.CompileRCFile(Project1.MainFilename,MainBuildBoss.
GetTargetOS(true));
VersionInfo := Project1.VersionInfo;
Result := VersionInfo.CompileRCFile(Project1.MainFilename,
MainBuildBoss.GetTargetOS(true));
if Result <> mrOk then exit;
for Count := 1 to VersionInfo.VersionInfoMessages.Count do
MessagesView.AddMsg(Format(VersionInfo.VersionInfoMessages[Count - 1],
['"', Project1.ShortDescription, '"']), '' ,-1);
// handle manifest
Result := Project1.XPManifest.CompileRCFile(Project1.MainFilename,
MainBuildBoss.GetTargetOS(true));
if Result <> mrOk then exit;
for Count := 1 to Project1.XPManifest.Messages.Count do
MessagesView.AddMsg(Format(Project1.XPManifest.Messages[Count - 1],
['"', Project1.ShortDescription, '"']), '' ,-1);
// compile required packages
if not (pbfDoNotCompileDependencies in Flags) then begin
PkgFlags:=[pcfDoNotSaveEditorFiles];
@ -8105,8 +8113,9 @@ begin
CompilerFilename:=Project1.GetCompilerFilename;
//DebugLn(['TMainIDE.DoBuildProject CompilerFilename="',CompilerFilename,'" CompilerPath="',Project1.CompilerOptions.CompilerPath,'"']);
CompilerParams:=Project1.CompilerOptions.MakeOptionsString(SrcFilename,nil,[])
+' '+PrepareCmdLineOption(SrcFilename);
CompilerParams :=
Project1.CompilerOptions.MakeOptionsString(SrcFilename,nil,[]) + ' ' +
PrepareCmdLineOption(SrcFilename);
//DebugLn('TMainIDE.DoBuildProject WorkingDir="',WorkingDir,'" SrcFilename="',SrcFilename,'" CompilerFilename="',CompilerFilename,'" CompilerParams="',CompilerParams,'"');
// warn for ambiguous files

22
ide/manifest.lrs Normal file
View File

@ -0,0 +1,22 @@
LazarusResources.Add('manifest','RES',[
#0#0#0#0' '#0#0#0#255#255#0#0#255#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'g'#4
+#0#0' '#0#0#0#255#255#24#0#255#255#1#0#0#0#0#0#0#0#25#4#0#0#0#0#0#0#0#0'<?xm'
+'l version="1.0" encoding="UTF-8" standalone="yes"?> '#13#10'<assembly xmlns'
+'="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> '#13#10' <ass'
+'emblyIdentity '#13#10' version="1.0.0.0" '#13#10' processorAr'
+'chitecture="X86" '#13#10' name="CompanyName.ProductName.YourApp" '#13
+#10' type="win32" '#13#10#13#10' /> '#13#10' <description>Your '
+'application description here.</description> '#13#10' <dependency> '#13#10
+' <dependentAssembly> '#13#10' <assemblyIdentity '#13#10' '
+' type="win32" '#13#10' name="Microsoft.Windows'
+'.Common-Controls" '#13#10' version="6.0.0.0" '#13#10' '
+' processorArchitecture="X86" '#13#10' publicKeyToken'
+'="6595b64144ccf1df" '#13#10' language="*" '#13#10' '
+' /> '#13#10' </dependentAssembly> '#13#10' </dependency> '#13
+#10' <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">'#13#10' '
+'<security>'#13#10' <requestedPrivileges>'#13#10' '
+'<requestedExecutionLevel'#13#10' level="asInvoker"'#13#10
+' uiAccess="false"'#13#10' /> '#13#10' '
+' </requestedPrivileges> '#13#10' </security> '#13#10' </tr'
+'ustInfo>'#13#10'</assembly> '#13#10
]);

View File

@ -53,7 +53,7 @@ uses
EditorOptions, IDEProcs, RunParamsOpts, ProjectIntf, ProjectDefs, MacroIntf,
FileReferenceList, EditDefineTree, DefineTemplates, PackageDefs, LazIDEIntf,
// for .res files
W32VersionInfo;
W32VersionInfo, W32Manifest;
type
TUnitInfo = class;
@ -523,7 +523,10 @@ type
FTargetFileExt: String;
FUnitList: TFPList; // list of _all_ units (TUnitInfo)
FUpdateLock: integer;
FVersionInfo: TProjectVersionInfo;
FXPManifest: TProjectXPManifest;
function GetFirstAutoRevertLockedUnit: TUnitInfo;
function GetFirstLoadedUnit: TUnitInfo;
function GetFirstPartOfProject: TUnitInfo;
@ -763,7 +766,9 @@ type
read GetTargetFilename write SetTargetFilename;
property Units[Index: integer]: TUnitInfo read GetUnits;
property UpdateLock: integer read FUpdateLock;
property VersionInfo: TProjectVersionInfo read FVersionInfo;
property XPManifest: TProjectXPManifest read FXPManifest;
end;
const
@ -1573,6 +1578,9 @@ begin
FVersionInfo := TProjectVersionInfo.Create;
FVersionInfo.OnModified:=@VersionInfoModified;
FXPManifest := TProjectXPManifest.Create;
FXPManifest.UseManifest := True;
end;
{------------------------------------------------------------------------------
@ -1584,6 +1592,7 @@ begin
fDestroying:=true;
Clear;
FreeThenNil(FVersionInfo);
FreeThenNil(FXPManifest);
FreeThenNil(FBookmarks);
FreeThenNil(FUnitList);
FreeThenNil(FJumpHistory);
@ -1750,7 +1759,8 @@ begin
xmlconfig.SetDeleteValue(Path+'General/IconPath/Value',IconPath,'');
xmlconfig.SetValue(Path+'General/TargetFileExt/Value',TargetFileExt);
xmlconfig.SetDeleteValue(Path+'General/Title/Value', Title,'');
xmlconfig.SetDeleteValue(Path+'General/UseAppBundle/Value',UseAppBundle,True);
xmlconfig.SetDeleteValue(Path+'General/UseAppBundle/Value', UseAppBundle, True);
xmlconfig.SetDeleteValue(Path+'General/UseXPManifest/Value', XPManifest.UseManifest, True);
// lazdoc
xmlconfig.SetDeleteValue(Path+'LazDoc/Paths',
@ -2123,6 +2133,7 @@ begin
Path+'General/TargetFileExt/Value', GetExecutableExt);
Title := xmlconfig.GetValue(Path+'General/Title/Value', '');
UseAppBundle := xmlconfig.GetValue(Path+'General/UseAppBundle/Value', True);
XPManifest.UseManifest := xmlconfig.GetValue(Path+'General/UseXPManifest/Value', True);
// Lazdoc
LazDocPaths := SwitchPathDelims(xmlconfig.GetValue(Path+'LazDoc/Paths', ''),

View File

@ -21,37 +21,36 @@ object ProjectOptionsDialog: TProjectOptionsDialog
TabOrder = 0
object ApplicationPage: TPage
Caption = 'ApplicationPage'
ClientWidth = 453
ClientHeight = 311
ClientWidth = 449
ClientHeight = 315
object AppSettingsGroupBox: TGroupBox
Left = 6
Height = 98
Height = 124
Top = 6
Width = 441
Width = 437
Align = alTop
BorderSpacing.Around = 6
Caption = 'AppSettingsGroupBox'
ClientHeight = 81
ClientWidth = 437
ClientHeight = 106
ClientWidth = 433
TabOrder = 0
object TitleLabel: TLabel
Left = 6
Height = 13
Height = 17
Top = 6
Width = 425
Width = 421
Align = alTop
BorderSpacing.Left = 6
BorderSpacing.Top = 6
BorderSpacing.Right = 6
Caption = 'TitleLabel'
Color = clNone
ParentColor = False
end
object TitleEdit: TEdit
Left = 6
Height = 23
Top = 19
Width = 425
Top = 23
Width = 421
Align = alTop
BorderSpacing.Left = 6
BorderSpacing.Right = 6
@ -62,42 +61,51 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6
Height = 24
Top = 52
Width = 417
Width = 389
Anchors = [akTop, akLeft, akRight]
AutoSize = False
Caption = 'UseAppBundleCheckBox'
TabOrder = 1
end
object UseXPManifestCheckBox: TCheckBox
Left = 6
Height = 24
Top = 76
Width = 389
Anchors = [akTop, akLeft, akRight]
AutoSize = False
Caption = 'UseXPManifestCheckBox'
TabOrder = 2
end
end
object OutputSettingsGroupBox: TGroupBox
Left = 6
Height = 73
Top = 110
Width = 441
Top = 136
Width = 437
Align = alTop
BorderSpacing.Around = 6
Caption = 'OutputSettingsGroupBox'
ClientHeight = 56
ClientWidth = 437
ClientHeight = 55
ClientWidth = 433
TabOrder = 1
object TargetFileLabel: TLabel
Left = 6
Height = 13
Height = 17
Top = 6
Width = 425
Width = 421
Align = alTop
BorderSpacing.Left = 6
BorderSpacing.Top = 6
BorderSpacing.Right = 6
Caption = 'TargetFileLabel'
Color = clNone
ParentColor = False
end
object TargetFileEdit: TEdit
Left = 6
Height = 23
Top = 19
Width = 425
Top = 23
Width = 421
Align = alTop
BorderSpacing.Left = 6
BorderSpacing.Right = 6
@ -108,26 +116,24 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end
object FormsPage: TPage
Caption = 'FormsPage'
ClientWidth = 457
ClientHeight = 341
ClientWidth = 449
ClientHeight = 315
OnResize = FormsPageResize
object FormsAutoCreatedLabel: TLabel
Left = 36
Height = 14
Height = 17
Top = 10
Width = 117
Width = 127
Caption = 'FormsAutoCreatedLabel'
Color = clNone
ParentColor = False
end
object FormsAvailFormsLabel: TLabel
AnchorSideLeft.Control = FormsAvailFormsListBox
Left = 240
Height = 14
Height = 17
Top = 10
Width = 107
Width = 119
Caption = 'FormsAvailFormsLabel'
Color = clNone
ParentColor = False
end
object FormsAutoCreatedListBox: TListBox
@ -135,14 +141,13 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideLeft.Side = asrBottom
AnchorSideBottom.Control = FormsAutoCreateNewFormsCheckBox
Left = 36
Height = 284
Height = 256
Top = 32
Width = 168
Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Around = 6
MultiSelect = True
TabOrder = 0
TopIndex = -1
end
object FormsAvailFormsListBox: TListBox
AnchorSideLeft.Control = FormsAddToAutoCreatedFormsBtn
@ -151,14 +156,13 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = FormsAutoCreateNewFormsCheckBox
Left = 240
Height = 284
Height = 256
Top = 32
Width = 203
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6
MultiSelect = True
TabOrder = 1
TopIndex = -1
end
object FormsMoveAutoCreatedFormUpBtn: TArrow
Left = 6
@ -197,9 +201,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end
object FormsAutoCreateNewFormsCheckBox: TCheckBox
Left = 6
Height = 13
Top = 322
Width = 445
Height = 15
Top = 294
Width = 437
Align = alBottom
BorderSpacing.Around = 6
Caption = 'FormsAutoCreateNewFormsCheckBox'
@ -208,15 +212,15 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end
object MiscPage: TPage
Caption = 'MiscPage'
ClientWidth = 457
ClientHeight = 341
ClientWidth = 449
ClientHeight = 315
object MainUnitHasUsesSectionForAllUnitsCheckBox: TCheckBox
AnchorSideTop.Control = MainUnitIsPascalSourceCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 13
Top = 25
Width = 445
Height = 15
Top = 27
Width = 437
Align = alTop
BorderSpacing.Left = 6
BorderSpacing.Top = 2
@ -228,9 +232,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = MainUnitHasUsesSectionForAllUnitsCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 13
Top = 40
Width = 445
Height = 15
Top = 44
Width = 437
Align = alTop
BorderSpacing.Left = 6
BorderSpacing.Top = 2
@ -240,9 +244,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end
object MainUnitIsPascalSourceCheckBox: TCheckBox
Left = 6
Height = 13
Height = 15
Top = 10
Width = 445
Width = 437
Align = alTop
BorderSpacing.Left = 6
BorderSpacing.Top = 10
@ -254,9 +258,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = MainUnitHasCreateFormStatementsCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 13
Top = 55
Width = 445
Height = 15
Top = 61
Width = 437
Align = alTop
BorderSpacing.Left = 6
BorderSpacing.Top = 2
@ -268,9 +272,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = MainUnitHasTitleStatementCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 13
Top = 78
Width = 445
Height = 15
Top = 86
Width = 437
Align = alTop
BorderSpacing.Left = 6
BorderSpacing.Top = 10
@ -282,8 +286,8 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = RunnableCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 13
Top = 93
Height = 15
Top = 103
Width = 441
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
@ -295,64 +299,78 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end
object LazDocPage: TPage
Caption = 'LazDocPage'
ClientWidth = 457
ClientHeight = 341
ClientWidth = 449
ClientHeight = 315
object LazDocPathsGroupBox: TGroupBox
Left = 6
Height = 210
Top = 6
Width = 445
Width = 437
Align = alTop
BorderSpacing.Around = 6
Caption = 'LazDocPathsGroupBox'
ClientHeight = 210
ClientWidth = 445
ClientWidth = 437
TabOrder = 0
object LazDocListBox: TListBox
AnchorSideLeft.Control = LazDocPathsGroupBox
AnchorSideTop.Control = LazDocPathsGroupBox
AnchorSideRight.Control = LazDocPathsGroupBox
AnchorSideRight.Side = asrBottom
Left = 6
Height = 108
Top = 6
Width = 433
Width = 421
Align = alTop
BorderSpacing.Around = 6
TabOrder = 0
TopIndex = -1
end
object LazDocAddPathButton: TButton
AnchorSideLeft.Control = LazDocPathsGroupBox
Left = 6
Height = 25
Top = 122
Width = 75
BorderSpacing.Left = 6
BorderSpacing.InnerBorder = 4
Caption = 'LazDocAddPathButton'
OnClick = LazDocAddPathButtonClick
TabOrder = 1
end
object LazDocDeletePathButton: TButton
Left = 90
AnchorSideLeft.Control = LazDocAddPathButton
AnchorSideLeft.Side = asrBottom
Left = 91
Height = 25
Top = 122
Width = 75
BorderSpacing.Left = 10
BorderSpacing.InnerBorder = 4
Caption = 'LazDocDeletePathButton'
OnClick = LazDocDeletePathButtonClick
TabOrder = 2
end
object LazDocPathEdit: TEdit
AnchorSideLeft.Control = LazDocPathsGroupBox
AnchorSideRight.Control = LazDocBrowseButton
Left = 6
Height = 23
Top = 154
Width = 365
Width = 397
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
TabOrder = 3
Text = 'LazDocPathEdit'
end
object LazDocBrowseButton: TButton
Left = 376
AnchorSideRight.Control = LazDocPathsGroupBox
AnchorSideRight.Side = asrBottom
Left = 403
Height = 23
Top = 154
Width = 23
Width = 24
Anchors = [akTop, akRight]
BorderSpacing.Right = 6
BorderSpacing.InnerBorder = 4
Caption = '...'
OnClick = LazDocBrowseButtonClick
@ -362,8 +380,8 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end
object SavePage: TPage
Caption = 'SavePage'
ClientWidth = 457
ClientHeight = 341
ClientWidth = 449
ClientHeight = 315
object SaveClosedUnitInfoCheckBox: TCheckBox
Left = 6
Height = 20
@ -414,8 +432,8 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end
object VersionInfoPage: TPage
Caption = 'VersionInfoPage'
ClientWidth = 457
ClientHeight = 341
ClientWidth = 449
ClientHeight = 315
object VersionInfoGroupBox: TGroupBox
AnchorSideLeft.Control = LanguageSettingsGroupBox
AnchorSideTop.Control = UseVersionInfoCheckBox
@ -423,115 +441,109 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideRight.Control = LanguageSettingsGroupBox
AnchorSideRight.Side = asrBottom
Left = 6
Height = 73
Top = 32
Width = 445
Height = 81
Top = 27
Width = 437
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
Caption = 'Version Numbering'
ClientHeight = 73
ClientWidth = 445
ClientHeight = 81
ClientWidth = 437
TabOrder = 0
object VersionLabel: TLabel
Left = 6
Height = 13
Top = 2
Width = 47
Height = 17
Width = 43
Caption = 'Version:'
Color = clNone
ParentColor = False
end
object MajorRevisionLabel: TLabel
AnchorSideLeft.Control = VersionSpinEdit
AnchorSideLeft.Side = asrBottom
Left = 101
Height = 13
Top = 4
Width = 88
BorderSpacing.Left = 10
Left = 106
Height = 17
Width = 82
BorderSpacing.Left = 30
Caption = 'Major Revision:'
Color = clNone
ParentColor = False
end
object MinorRevisionLabel: TLabel
AnchorSideLeft.Control = MajorRevisionSpinEdit
AnchorSideLeft.Side = asrBottom
Left = 237
Height = 13
Top = 5
Width = 88
BorderSpacing.Left = 10
Left = 206
Height = 17
Width = 83
BorderSpacing.Left = 30
Caption = 'Minor Revision:'
Color = clNone
ParentColor = False
end
object BuildLabel: TLabel
AnchorSideLeft.Control = MinorRevisionSpinEdit
AnchorSideLeft.Side = asrBottom
Left = 369
Height = 13
Top = 5
Width = 32
BorderSpacing.Left = 6
Left = 306
Height = 17
Width = 31
BorderSpacing.Left = 30
Caption = 'Build:'
Color = clNone
ParentColor = False
end
object BuildEdit: TEdit
AnchorSideLeft.Control = BuildLabel
AnchorSideLeft.Side = asrBottom
Left = 407
AnchorSideTop.Control = BuildLabel
AnchorSideTop.Side = asrBottom
Left = 306
Height = 20
Top = 2
Width = 32
BorderSpacing.Left = 6
Top = 17
Width = 70
TabOrder = 0
Text = '0'
end
object VersionSpinEdit: TSpinEdit
AnchorSideLeft.Control = VersionLabel
AnchorSideLeft.Side = asrBottom
Left = 59
AnchorSideTop.Control = VersionLabel
AnchorSideTop.Side = asrBottom
Left = 6
Height = 20
Top = 1
Width = 32
BorderSpacing.Left = 6
Top = 17
Width = 70
TabOrder = 1
end
object MajorRevisionSpinEdit: TSpinEdit
AnchorSideLeft.Control = MajorRevisionLabel
AnchorSideLeft.Side = asrBottom
Left = 195
AnchorSideTop.Control = MajorRevisionLabel
AnchorSideTop.Side = asrBottom
Left = 106
Height = 20
Width = 32
BorderSpacing.Left = 6
Top = 17
Width = 70
TabOrder = 2
end
object MinorRevisionSpinEdit: TSpinEdit
AnchorSideLeft.Control = MinorRevisionLabel
AnchorSideLeft.Side = asrBottom
Left = 331
AnchorSideTop.Control = MinorRevisionLabel
AnchorSideTop.Side = asrBottom
Left = 206
Height = 20
Top = 2
Width = 32
BorderSpacing.Left = 6
Top = 17
Width = 70
TabOrder = 3
end
object AutomaticallyIncreaseBuildCheckBox: TCheckBox
AnchorSideLeft.Control = VersionLabel
Left = 6
Height = 20
Top = 28
Width = 186
Height = 15
Top = 40
Width = 153
Caption = 'Automatically increase Build'
Enabled = False
TabOrder = 4
end
end
object UseVersionInfoCheckBox: TCheckBox
Left = 12
Height = 20
Left = 6
Height = 15
Top = 6
Width = 218
Width = 182
Caption = 'Include Version Info in executable'
OnChange = UseVersionInfoCheckBoxChange
TabOrder = 1
@ -544,53 +556,53 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideRight.Side = asrBottom
Left = 6
Height = 81
Top = 111
Width = 445
Top = 114
Width = 437
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
Caption = 'Language Options'
ClientHeight = 81
ClientWidth = 445
ClientWidth = 437
TabOrder = 2
object LanguageSelectionLabel: TLabel
Left = 6
Height = 13
Top = 6
Width = 116
Height = 17
Width = 107
Caption = 'Language Selection:'
Color = clNone
ParentColor = False
end
object CharacterSetLabel: TLabel
Left = 268
Height = 13
Top = 6
Width = 81
Height = 17
Width = 73
Caption = 'Character Set:'
Color = clNone
ParentColor = False
end
object LanguageSelectionComboBox: TComboBox
AnchorSideLeft.Control = LanguageSelectionLabel
AnchorSideTop.Control = LanguageSelectionLabel
AnchorSideTop.Side = asrBottom
Left = 6
Height = 21
Top = 21
Top = 19
Width = 248
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
BorderSpacing.Top = 2
ItemHeight = 13
MaxLength = 0
TabOrder = 0
Text = 'U.S. English'
end
object CharacterSetComboBox: TComboBox
AnchorSideLeft.Control = CharacterSetLabel
AnchorSideTop.Control = LanguageSelectionComboBox
Left = 268
Height = 21
Top = 21
Width = 104
Top = 19
Width = 96
Anchors = [akTop, akLeft, akRight]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
ItemHeight = 13
MaxLength = 0
TabOrder = 1
Text = 'Multilingual'
@ -601,36 +613,34 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Side = asrBottom
AnchorSideRight.Side = asrBottom
Left = 6
Height = 137
Top = 198
Width = 445
Height = 108
Top = 201
Width = 437
Align = alBottom
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
Caption = 'Other Info'
ClientHeight = 137
ClientWidth = 445
ClientHeight = 90
ClientWidth = 433
TabOrder = 3
object DescriptionLabel: TLabel
AnchorSideTop.Control = DescriptionEdit
AnchorSideTop.Side = asrCenter
Left = 6
Height = 13
Top = 3
Width = 67
Height = 17
Top = 1
Width = 64
Caption = 'Description:'
Color = clNone
ParentColor = False
end
object CopyrightLabel: TLabel
AnchorSideTop.Control = CopyrightEdit
AnchorSideTop.Side = asrCenter
Left = 6
Height = 13
Top = 30
Width = 58
Height = 17
Top = 28
Width = 56
Caption = 'Copyright:'
Color = clNone
ParentColor = False
end
object DescriptionEdit: TEdit
@ -638,28 +648,26 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideLeft.Side = asrBottom
AnchorSideRight.Control = OtherInfoGroupBox
AnchorSideRight.Side = asrBottom
Left = 79
Left = 76
Height = 21
Top = -1
Width = 360
Width = 351
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
BorderSpacing.Right = 6
TabOrder = 0
end
object CopyrightEdit: TEdit
AnchorSideLeft.Control = CopyrightLabel
AnchorSideLeft.Side = asrBottom
AnchorSideLeft.Control = DescriptionEdit
AnchorSideTop.Control = DescriptionEdit
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = OtherInfoGroupBox
AnchorSideRight.Side = asrBottom
Left = 70
Left = 76
Height = 21
Top = 26
Width = 369
Width = 351
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
BorderSpacing.Top = 6
BorderSpacing.Right = 6
TabOrder = 1
@ -671,10 +679,10 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = OtherInfoGroupBox
AnchorSideBottom.Side = asrBottom
Left = 345
Height = 26
Top = 105
Width = 94
Left = 332
Height = 25
Top = 59
Width = 95
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Around = 6
@ -687,8 +695,8 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end
object i18nPage: TPage
Caption = 'i18n'
ClientWidth = 457
ClientHeight = 341
ClientWidth = 449
ClientHeight = 315
object RSTGroupBox: TGroupBox
AnchorSideLeft.Control = i18nPage
AnchorSideTop.Control = i18nPage
@ -697,22 +705,24 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6
Height = 51
Top = 6
Width = 441
Width = 437
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
BorderSpacing.Top = 6
BorderSpacing.Right = 6
Caption = 'RSTGroupBox'
ClientHeight = 51
ClientWidth = 441
ClientWidth = 437
TabOrder = 0
object RSTOutDirEdit: TEdit
AnchorSideLeft.Control = RSTGroupBox
AnchorSideTop.Control = RSTGroupBox
AnchorSideRight.Control = RSTOutDirButton
Left = 6
Height = 23
Width = 418
Width = 397
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
TabOrder = 0
Text = 'RSTOutDirEdit'
end
@ -722,11 +732,11 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = RSTOutDirEdit
AnchorSideBottom.Side = asrBottom
Left = 418
Left = 403
Height = 23
Width = 23
Width = 24
Anchors = [akTop, akRight, akBottom]
AutoSize = True
BorderSpacing.Right = 6
BorderSpacing.InnerBorder = 4
Caption = '...'
OnClick = RSTOutDirButtonClick
@ -737,8 +747,8 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end
object CancelButton: TButton
Left = 371
Height = 26
Top = 346
Height = 25
Top = 347
Width = 75
Anchors = [akRight, akBottom]
AutoSize = True
@ -751,14 +761,13 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end
object OKButton: TButton
AnchorSideRight.Control = CancelButton
Left = 280
Height = 26
Top = 346
Left = 286
Height = 25
Top = 347
Width = 75
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Right = 10
BorderSpacing.Around = 6
BorderSpacing.Around = 10
BorderSpacing.InnerBorder = 4
Caption = 'OK'
Constraints.MinWidth = 75

View File

@ -9,247 +9,257 @@ LazarusResources.Add('TProjectOptionsDialog','FORMDATA',[
+'tebook'#8'Notebook'#6'Height'#3'U'#1#5'Width'#3#201#1#5'Align'#7#5'alTop'#7
+'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#14'OnChangeBounds'#7
+#20'NotebookChangeBounds'#9'PageIndex'#2#0#8'TabOrder'#2#0#0#5'TPage'#15'App'
+'licationPage'#7'Caption'#6#15'ApplicationPage'#11'ClientWidth'#3#197#1#12'C'
+'lientHeight'#3'7'#1#0#9'TGroupBox'#19'AppSettingsGroupBox'#4'Left'#2#6#6'He'
+'ight'#2'b'#3'Top'#2#6#5'Width'#3#185#1#5'Align'#7#5'alTop'#20'BorderSpacing'
+'.Around'#2#6#7'Caption'#6#19'AppSettingsGroupBox'#12'ClientHeight'#2'Q'#11
+'ClientWidth'#3#181#1#8'TabOrder'#2#0#0#6'TLabel'#10'TitleLabel'#4'Left'#2#6
+#6'Height'#2#13#3'Top'#2#6#5'Width'#3#169#1#5'Align'#7#5'alTop'#18'BorderSpa'
+'licationPage'#7'Caption'#6#15'ApplicationPage'#11'ClientWidth'#3#193#1#12'C'
+'lientHeight'#3';'#1#0#9'TGroupBox'#19'AppSettingsGroupBox'#4'Left'#2#6#6'He'
+'ight'#2'|'#3'Top'#2#6#5'Width'#3#181#1#5'Align'#7#5'alTop'#20'BorderSpacing'
+'.Around'#2#6#7'Caption'#6#19'AppSettingsGroupBox'#12'ClientHeight'#2'j'#11
+'ClientWidth'#3#177#1#8'TabOrder'#2#0#0#6'TLabel'#10'TitleLabel'#4'Left'#2#6
+#6'Height'#2#17#3'Top'#2#6#5'Width'#3#165#1#5'Align'#7#5'alTop'#18'BorderSpa'
+'cing.Left'#2#6#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#7'Capt'
+'ion'#6#10'TitleLabel'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#5'TEdit'#9
+'TitleEdit'#4'Left'#2#6#6'Height'#2#23#3'Top'#2#19#5'Width'#3#169#1#5'Align'
+#7#5'alTop'#18'BorderSpacing.Left'#2#6#19'BorderSpacing.Right'#2#6#8'TabOrde'
+'r'#2#0#4'Text'#6#9'TitleEdit'#0#0#9'TCheckBox'#20'UseAppBundleCheckBox'#4'L'
+'eft'#2#6#6'Height'#2#24#3'Top'#2'4'#5'Width'#3#161#1#7'Anchors'#11#5'akTop'
+#6'akLeft'#7'akRight'#0#8'AutoSize'#8#7'Caption'#6#20'UseAppBundleCheckBox'#8
+'TabOrder'#2#1#0#0#0#9'TGroupBox'#22'OutputSettingsGroupBox'#4'Left'#2#6#6'H'
+'eight'#2'I'#3'Top'#2'n'#5'Width'#3#185#1#5'Align'#7#5'alTop'#20'BorderSpaci'
+'ng.Around'#2#6#7'Caption'#6#22'OutputSettingsGroupBox'#12'ClientHeight'#2'8'
+#11'ClientWidth'#3#181#1#8'TabOrder'#2#1#0#6'TLabel'#15'TargetFileLabel'#4'L'
+'eft'#2#6#6'Height'#2#13#3'Top'#2#6#5'Width'#3#169#1#5'Align'#7#5'alTop'#18
+'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2
+#6#7'Caption'#6#15'TargetFileLabel'#5'Color'#7#6'clNone'#11'ParentColor'#8#0
+#0#5'TEdit'#14'TargetFileEdit'#4'Left'#2#6#6'Height'#2#23#3'Top'#2#19#5'Widt'
+'h'#3#169#1#5'Align'#7#5'alTop'#18'BorderSpacing.Left'#2#6#19'BorderSpacing.'
+'Right'#2#6#8'TabOrder'#2#0#4'Text'#6#14'TargetFileEdit'#0#0#0#0#5'TPage'#9
+'FormsPage'#7'Caption'#6#9'FormsPage'#11'ClientWidth'#3#201#1#12'ClientHeigh'
+'t'#3'U'#1#8'OnResize'#7#15'FormsPageResize'#0#6'TLabel'#21'FormsAutoCreated'
+'Label'#4'Left'#2'$'#6'Height'#2#14#3'Top'#2#10#5'Width'#2'u'#7'Caption'#6#21
+'FormsAutoCreatedLabel'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'
+#20'FormsAvailFormsLabel'#22'AnchorSideLeft.Control'#7#22'FormsAvailFormsLis'
+'tBox'#4'Left'#3#240#0#6'Height'#2#14#3'Top'#2#10#5'Width'#2'k'#7'Caption'#6
+#20'FormsAvailFormsLabel'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#8'TList'
+'Box'#23'FormsAutoCreatedListBox'#22'AnchorSideLeft.Control'#7#29'FormsMoveA'
+'utoCreatedFormUpBtn'#19'AnchorSideLeft.Side'#7#9'asrBottom'#24'AnchorSideBo'
+'ttom.Control'#7#31'FormsAutoCreateNewFormsCheckBox'#4'Left'#2'$'#6'Height'#3
+#28#1#3'Top'#2' '#5'Width'#3#168#0#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBott'
+'om'#0#20'BorderSpacing.Around'#2#6#11'MultiSelect'#9#8'TabOrder'#2#0#8'TopI'
+'ndex'#2#255#0#0#8'TListBox'#22'FormsAvailFormsListBox'#22'AnchorSideLeft.Co'
+'ntrol'#7#29'FormsAddToAutoCreatedFormsBtn'#19'AnchorSideLeft.Side'#7#9'asrB'
+'ottom'#23'AnchorSideRight.Control'#7#9'FormsPage'#20'AnchorSideRight.Side'#7
+#9'asrBottom'#24'AnchorSideBottom.Control'#7#31'FormsAutoCreateNewFormsCheck'
+'Box'#4'Left'#3#240#0#6'Height'#3#28#1#3'Top'#2' '#5'Width'#3#203#0#7'Anchor'
+'s'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#20'BorderSpacing.Around'#2
+#6#11'MultiSelect'#9#8'TabOrder'#2#1#8'TopIndex'#2#255#0#0#6'TArrow'#29'Form'
+'sMoveAutoCreatedFormUpBtn'#4'Left'#2#6#6'Height'#2#24#3'Top'#2' '#5'Width'#2
+#24#9'ArrowType'#7#4'atUp'#7'OnClick'#7'"FormsMoveAutoCreatedFormUpBtnClick'
+#0#0#6'TArrow FormsMoveAutoCreatedFormsDownBtn'#4'Left'#2#6#6'Height'#2#24#3
+'Top'#2'<'#5'Width'#2#24#9'ArrowType'#7#6'atDown'#7'OnClick'#7'$FormsMoveAut'
+'oCreatedFormDownBtnClick'#0#0#6'TArrow"FormsRemoveFromAutoCreatedFormsBtn'
+#22'AnchorSideLeft.Control'#7#23'FormsAutoCreatedListBox'#19'AnchorSideLeft.'
+'Side'#7#9'asrBottom'#4'Left'#3#210#0#6'Height'#2#24#3'Top'#2' '#5'Width'#2
+#24#9'ArrowType'#7#7'atRight'#20'BorderSpacing.Around'#2#6#7'OnClick'#7'''Fo'
+'rmsRemoveFromAutoCreatedFormsBtnClick'#0#0#6'TArrow'#29'FormsAddToAutoCreat'
+'edFormsBtn'#22'AnchorSideLeft.Control'#7'"FormsRemoveFromAutoCreatedFormsBt'
+'n'#4'Left'#3#210#0#6'Height'#2#24#3'Top'#2'<'#5'Width'#2#24#7'OnClick'#7'"F'
+'ormsAddToAutoCreatedFormsBtnClick'#0#0#9'TCheckBox'#31'FormsAutoCreateNewFo'
+'rmsCheckBox'#4'Left'#2#6#6'Height'#2#13#3'Top'#3'B'#1#5'Width'#3#189#1#5'Al'
+'ign'#7#8'alBottom'#20'BorderSpacing.Around'#2#6#7'Caption'#6#31'FormsAutoCr'
,'eateNewFormsCheckBox'#8'TabOrder'#2#2#0#0#0#5'TPage'#8'MiscPage'#7'Caption'
+#6#8'MiscPage'#11'ClientWidth'#3#201#1#12'ClientHeight'#3'U'#1#0#9'TCheckBox'
+')MainUnitHasUsesSectionForAllUnitsCheckBox'#21'AnchorSideTop.Control'#7#30
+'MainUnitIsPascalSourceCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Lef'
+'t'#2#6#6'Height'#2#13#3'Top'#2#25#5'Width'#3#189#1#5'Align'#7#5'alTop'#18'B'
+'orderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#2#19'BorderSpacing.Right'#2#6
+#7'Caption'#6')MainUnitHasUsesSectionForAllUnitsCheckBox'#8'TabOrder'#2#0#0#0
+#9'TCheckBox''MainUnitHasCreateFormStatementsCheckBox'#21'AnchorSideTop.Cont'
+'rol'#7')MainUnitHasUsesSectionForAllUnitsCheckBox'#18'AnchorSideTop.Side'#7
+#9'asrBottom'#4'Left'#2#6#6'Height'#2#13#3'Top'#2'('#5'Width'#3#189#1#5'Alig'
+'ion'#6#10'TitleLabel'#11'ParentColor'#8#0#0#5'TEdit'#9'TitleEdit'#4'Left'#2
+#6#6'Height'#2#23#3'Top'#2#23#5'Width'#3#165#1#5'Align'#7#5'alTop'#18'Border'
+'Spacing.Left'#2#6#19'BorderSpacing.Right'#2#6#8'TabOrder'#2#0#4'Text'#6#9'T'
+'itleEdit'#0#0#9'TCheckBox'#20'UseAppBundleCheckBox'#4'Left'#2#6#6'Height'#2
+#24#3'Top'#2'4'#5'Width'#3#133#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'
+#0#8'AutoSize'#8#7'Caption'#6#20'UseAppBundleCheckBox'#8'TabOrder'#2#1#0#0#9
+'TCheckBox'#21'UseXPManifestCheckBox'#4'Left'#2#6#6'Height'#2#24#3'Top'#2'L'
+#5'Width'#3#133#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#8
+#7'Caption'#6#21'UseXPManifestCheckBox'#8'TabOrder'#2#2#0#0#0#9'TGroupBox'#22
+'OutputSettingsGroupBox'#4'Left'#2#6#6'Height'#2'I'#3'Top'#3#136#0#5'Width'#3
+#181#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'#6#22'Outp'
+'utSettingsGroupBox'#12'ClientHeight'#2'7'#11'ClientWidth'#3#177#1#8'TabOrde'
+'r'#2#1#0#6'TLabel'#15'TargetFileLabel'#4'Left'#2#6#6'Height'#2#17#3'Top'#2#6
+#5'Width'#3#165#1#5'Align'#7#5'alTop'#18'BorderSpacing.Left'#2#6#17'BorderSp'
+'acing.Top'#2#6#19'BorderSpacing.Right'#2#6#7'Caption'#6#15'TargetFileLabel'
+#11'ParentColor'#8#0#0#5'TEdit'#14'TargetFileEdit'#4'Left'#2#6#6'Height'#2#23
+#3'Top'#2#23#5'Width'#3#165#1#5'Align'#7#5'alTop'#18'BorderSpacing.Left'#2#6
+#19'BorderSpacing.Right'#2#6#8'TabOrder'#2#0#4'Text'#6#14'TargetFileEdit'#0#0
+#0#0#5'TPage'#9'FormsPage'#7'Caption'#6#9'FormsPage'#11'ClientWidth'#3#193#1
+#12'ClientHeight'#3';'#1#8'OnResize'#7#15'FormsPageResize'#0#6'TLabel'#21'Fo'
+'rmsAutoCreatedLabel'#4'Left'#2'$'#6'Height'#2#17#3'Top'#2#10#5'Width'#2''#7
+'Caption'#6#21'FormsAutoCreatedLabel'#11'ParentColor'#8#0#0#6'TLabel'#20'For'
+'msAvailFormsLabel'#22'AnchorSideLeft.Control'#7#22'FormsAvailFormsListBox'#4
+'Left'#3#240#0#6'Height'#2#17#3'Top'#2#10#5'Width'#2'w'#7'Caption'#6#20'Form'
+'sAvailFormsLabel'#11'ParentColor'#8#0#0#8'TListBox'#23'FormsAutoCreatedList'
+'Box'#22'AnchorSideLeft.Control'#7#29'FormsMoveAutoCreatedFormUpBtn'#19'Anch'
+'orSideLeft.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#31'FormsAuto'
+'CreateNewFormsCheckBox'#4'Left'#2'$'#6'Height'#3#0#1#3'Top'#2' '#5'Width'#3
+#168#0#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBottom'#0#20'BorderSpacing.Aroun'
+'d'#2#6#11'MultiSelect'#9#8'TabOrder'#2#0#0#0#8'TListBox'#22'FormsAvailForms'
+'ListBox'#22'AnchorSideLeft.Control'#7#29'FormsAddToAutoCreatedFormsBtn'#19
+'AnchorSideLeft.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#9'FormsPa'
+'ge'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7
+#31'FormsAutoCreateNewFormsCheckBox'#4'Left'#3#240#0#6'Height'#3#0#1#3'Top'#2
+' '#5'Width'#3#203#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'
+#0#20'BorderSpacing.Around'#2#6#11'MultiSelect'#9#8'TabOrder'#2#1#0#0#6'TArr'
+'ow'#29'FormsMoveAutoCreatedFormUpBtn'#4'Left'#2#6#6'Height'#2#24#3'Top'#2' '
+#5'Width'#2#24#9'ArrowType'#7#4'atUp'#7'OnClick'#7'"FormsMoveAutoCreatedForm'
+'UpBtnClick'#0#0#6'TArrow FormsMoveAutoCreatedFormsDownBtn'#4'Left'#2#6#6'He'
+'ight'#2#24#3'Top'#2'<'#5'Width'#2#24#9'ArrowType'#7#6'atDown'#7'OnClick'#7
+'$FormsMoveAutoCreatedFormDownBtnClick'#0#0#6'TArrow"FormsRemoveFromAutoCrea'
+'tedFormsBtn'#22'AnchorSideLeft.Control'#7#23'FormsAutoCreatedListBox'#19'An'
+'chorSideLeft.Side'#7#9'asrBottom'#4'Left'#3#210#0#6'Height'#2#24#3'Top'#2' '
+#5'Width'#2#24#9'ArrowType'#7#7'atRight'#20'BorderSpacing.Around'#2#6#7'OnCl'
+'ick'#7'''FormsRemoveFromAutoCreatedFormsBtnClick'#0#0#6'TArrow'#29'FormsAdd'
+'ToAutoCreatedFormsBtn'#22'AnchorSideLeft.Control'#7'"FormsRemoveFromAutoCre'
+'atedFormsBtn'#4'Left'#3#210#0#6'Height'#2#24#3'Top'#2'<'#5'Width'#2#24#7'On'
+'Click'#7'"FormsAddToAutoCreatedFormsBtnClick'#0#0#9'TCheckBox'#31'FormsAuto'
+'CreateNewFormsCheckBox'#4'Left'#2#6#6'Height'#2#15#3'Top'#3'&'#1#5'Width'#3
,#181#1#5'Align'#7#8'alBottom'#20'BorderSpacing.Around'#2#6#7'Caption'#6#31'F'
+'ormsAutoCreateNewFormsCheckBox'#8'TabOrder'#2#2#0#0#0#5'TPage'#8'MiscPage'#7
+'Caption'#6#8'MiscPage'#11'ClientWidth'#3#193#1#12'ClientHeight'#3';'#1#0#9
+'TCheckBox)MainUnitHasUsesSectionForAllUnitsCheckBox'#21'AnchorSideTop.Contr'
+'ol'#7#30'MainUnitIsPascalSourceCheckBox'#18'AnchorSideTop.Side'#7#9'asrBott'
+'om'#4'Left'#2#6#6'Height'#2#15#3'Top'#2#27#5'Width'#3#181#1#5'Align'#7#5'al'
+'Top'#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#2#19'BorderSpacing.'
+'Right'#2#6#7'Caption'#6')MainUnitHasUsesSectionForAllUnitsCheckBox'#8'TabOr'
+'der'#2#0#0#0#9'TCheckBox''MainUnitHasCreateFormStatementsCheckBox'#21'Ancho'
+'rSideTop.Control'#7')MainUnitHasUsesSectionForAllUnitsCheckBox'#18'AnchorSi'
+'deTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#15#3'Top'#2','#5'Width'#3
+#181#1#5'Align'#7#5'alTop'#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2
+#2#19'BorderSpacing.Right'#2#6#7'Caption'#6'''MainUnitHasCreateFormStatement'
+'sCheckBox'#8'TabOrder'#2#1#0#0#9'TCheckBox'#30'MainUnitIsPascalSourceCheckB'
+'ox'#4'Left'#2#6#6'Height'#2#15#3'Top'#2#10#5'Width'#3#181#1#5'Align'#7#5'al'
+'Top'#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#10#19'BorderSpacing'
+'.Right'#2#6#7'Caption'#6#30'MainUnitIsPascalSourceCheckBox'#8'TabOrder'#2#2
+#0#0#9'TCheckBox!MainUnitHasTitleStatementCheckBox'#21'AnchorSideTop.Control'
+#7'''MainUnitHasCreateFormStatementsCheckBox'#18'AnchorSideTop.Side'#7#9'asr'
+'Bottom'#4'Left'#2#6#6'Height'#2#15#3'Top'#2'='#5'Width'#3#181#1#5'Align'#7#5
+'alTop'#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#2#19'BorderSpacin'
+'g.Right'#2#6#7'Caption'#6'!MainUnitHasTitleStatementCheckBox'#8'TabOrder'#2
+#5#0#0#9'TCheckBox'#16'RunnableCheckBox'#21'AnchorSideTop.Control'#7'!MainUn'
+'itHasTitleStatementCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2
+#6#6'Height'#2#15#3'Top'#2'V'#5'Width'#3#181#1#5'Align'#7#5'alTop'#18'Border'
+'Spacing.Left'#2#6#17'BorderSpacing.Top'#2#10#19'BorderSpacing.Right'#2#6#7
+'Caption'#6#16'RunnableCheckBox'#8'TabOrder'#2#3#0#0#9'TCheckBox'#19'AlwaysB'
+'uildCheckBox'#21'AnchorSideTop.Control'#7#16'RunnableCheckBox'#18'AnchorSid'
+'eTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#15#3'Top'#2'g'#5'Width'#3
+#185#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2
+#6#17'BorderSpacing.Top'#2#2#19'BorderSpacing.Right'#2#6#7'Caption'#6#19'Alw'
+'aysBuildCheckBox'#8'TabOrder'#2#4#0#0#0#5'TPage'#10'LazDocPage'#7'Caption'#6
+#10'LazDocPage'#11'ClientWidth'#3#193#1#12'ClientHeight'#3';'#1#0#9'TGroupBo'
+'x'#19'LazDocPathsGroupBox'#4'Left'#2#6#6'Height'#3#210#0#3'Top'#2#6#5'Width'
+#3#181#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'La'
+'zDocPathsGroupBox'#12'ClientHeight'#3#210#0#11'ClientWidth'#3#181#1#8'TabOr'
+'der'#2#0#0#8'TListBox'#13'LazDocListBox'#22'AnchorSideLeft.Control'#7#19'La'
+'zDocPathsGroupBox'#21'AnchorSideTop.Control'#7#19'LazDocPathsGroupBox'#23'A'
+'nchorSideRight.Control'#7#19'LazDocPathsGroupBox'#20'AnchorSideRight.Side'#7
+#9'asrBottom'#4'Left'#2#6#6'Height'#2'l'#3'Top'#2#6#5'Width'#3#165#1#5'Align'
+#7#5'alTop'#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#0#0#0#7'TButton'#19'L'
+'azDocAddPathButton'#22'AnchorSideLeft.Control'#7#19'LazDocPathsGroupBox'#4
+'Left'#2#6#6'Height'#2#25#3'Top'#2'z'#5'Width'#2'K'#18'BorderSpacing.Left'#2
+#6#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#19'LazDocAddPathButton'#7
+'OnClick'#7#24'LazDocAddPathButtonClick'#8'TabOrder'#2#1#0#0#7'TButton'#22'L'
+'azDocDeletePathButton'#22'AnchorSideLeft.Control'#7#19'LazDocAddPathButton'
+#19'AnchorSideLeft.Side'#7#9'asrBottom'#4'Left'#2'['#6'Height'#2#25#3'Top'#2
+'z'#5'Width'#2'K'#18'BorderSpacing.Left'#2#10#25'BorderSpacing.InnerBorder'#2
+#4#7'Caption'#6#22'LazDocDeletePathButton'#7'OnClick'#7#27'LazDocDeletePathB'
+'uttonClick'#8'TabOrder'#2#2#0#0#5'TEdit'#14'LazDocPathEdit'#22'AnchorSideLe'
+'ft.Control'#7#19'LazDocPathsGroupBox'#23'AnchorSideRight.Control'#7#18'LazD'
+'ocBrowseButton'#4'Left'#2#6#6'Height'#2#23#3'Top'#3#154#0#5'Width'#3#141#1#7
+'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#6#8'Ta'
+'bOrder'#2#3#4'Text'#6#14'LazDocPathEdit'#0#0#7'TButton'#18'LazDocBrowseButt'
+'on'#23'AnchorSideRight.Control'#7#19'LazDocPathsGroupBox'#20'AnchorSideRigh'
+'t.Side'#7#9'asrBottom'#4'Left'#3#147#1#6'Height'#2#23#3'Top'#3#154#0#5'Widt'
+'h'#2#24#7'Anchors'#11#5'akTop'#7'akRight'#0#19'BorderSpacing.Right'#2#6#25
+'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#3'...'#7'OnClick'#7#23'LazDocBr'
+'owseButtonClick'#8'TabOrder'#2#4#0#0#0#0#5'TPage'#8'SavePage'#7'Caption'#6#8
+'SavePage'#11'ClientWidth'#3#193#1#12'ClientHeight'#3';'#1#0#9'TCheckBox'#26
+'SaveClosedUnitInfoCheckBox'#4'Left'#2#6#6'Height'#2#20#3'Top'#2#6#5'Width'#3
+#189#1#5'Align'#7#5'alTop'#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2
+#6#19'BorderSpacing.Right'#2#6#7'Caption'#6#26'SaveClosedUnitInfoCheckBox'#8
+'TabOrder'#2#0#0#0#9'TCheckBox'#31'SaveOnlyProjectUnitInfoCheckBox'#21'Ancho'
,'rSideTop.Control'#7#26'SaveClosedUnitInfoCheckBox'#18'AnchorSideTop.Side'#7
+#9'asrBottom'#4'Left'#2#6#6'Height'#2#20#3'Top'#2#28#5'Width'#3#189#1#5'Alig'
+'n'#7#5'alTop'#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#2#19'Borde'
+'rSpacing.Right'#2#6#7'Caption'#6'''MainUnitHasCreateFormStatementsCheckBox'
+#8'TabOrder'#2#1#0#0#9'TCheckBox'#30'MainUnitIsPascalSourceCheckBox'#4'Left'
+#2#6#6'Height'#2#13#3'Top'#2#10#5'Width'#3#189#1#5'Align'#7#5'alTop'#18'Bord'
+'erSpacing.Left'#2#6#17'BorderSpacing.Top'#2#10#19'BorderSpacing.Right'#2#6#7
+'Caption'#6#30'MainUnitIsPascalSourceCheckBox'#8'TabOrder'#2#2#0#0#9'TCheckB'
+'ox!MainUnitHasTitleStatementCheckBox'#21'AnchorSideTop.Control'#7'''MainUni'
+'tHasCreateFormStatementsCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'L'
+'eft'#2#6#6'Height'#2#13#3'Top'#2'7'#5'Width'#3#189#1#5'Align'#7#5'alTop'#18
+'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#2#19'BorderSpacing.Right'#2
+#6#7'Caption'#6'!MainUnitHasTitleStatementCheckBox'#8'TabOrder'#2#5#0#0#9'TC'
+'heckBox'#16'RunnableCheckBox'#21'AnchorSideTop.Control'#7'!MainUnitHasTitle'
+'StatementCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Heig'
+'ht'#2#13#3'Top'#2'N'#5'Width'#3#189#1#5'Align'#7#5'alTop'#18'BorderSpacing.'
+'Left'#2#6#17'BorderSpacing.Top'#2#10#19'BorderSpacing.Right'#2#6#7'Caption'
+#6#16'RunnableCheckBox'#8'TabOrder'#2#3#0#0#9'TCheckBox'#19'AlwaysBuildCheck'
+'Box'#21'AnchorSideTop.Control'#7#16'RunnableCheckBox'#18'AnchorSideTop.Side'
+#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#13#3'Top'#2']'#5'Width'#3#185#1#7'An'
+'chors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#6#17'Bor'
+'derSpacing.Top'#2#2#19'BorderSpacing.Right'#2#6#7'Caption'#6#19'AlwaysBuild'
+'CheckBox'#8'TabOrder'#2#4#0#0#0#5'TPage'#10'LazDocPage'#7'Caption'#6#10'Laz'
+'DocPage'#11'ClientWidth'#3#201#1#12'ClientHeight'#3'U'#1#0#9'TGroupBox'#19
+'LazDocPathsGroupBox'#4'Left'#2#6#6'Height'#3#210#0#3'Top'#2#6#5'Width'#3#189
+#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'LazDocPa'
+'thsGroupBox'#12'ClientHeight'#3#210#0#11'ClientWidth'#3#189#1#8'TabOrder'#2
+#0#0#8'TListBox'#13'LazDocListBox'#4'Left'#2#6#6'Height'#2'l'#3'Top'#2#6#5'W'
+'idth'#3#177#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#8'TabOrder'#2
+#0#8'TopIndex'#2#255#0#0#7'TButton'#19'LazDocAddPathButton'#4'Left'#2#6#6'He'
+'ight'#2#25#3'Top'#2'z'#5'Width'#2'K'#25'BorderSpacing.InnerBorder'#2#4#7'Ca'
+'ption'#6#19'LazDocAddPathButton'#7'OnClick'#7#24'LazDocAddPathButtonClick'#8
+'TabOrder'#2#1#0#0#7'TButton'#22'LazDocDeletePathButton'#4'Left'#2'Z'#6'Heig'
+'ht'#2#25#3'Top'#2'z'#5'Width'#2'K'#25'BorderSpacing.InnerBorder'#2#4#7'Capt'
+'ion'#6#22'LazDocDeletePathButton'#7'OnClick'#7#27'LazDocDeletePathButtonCli'
+'ck'#8'TabOrder'#2#2#0#0#5'TEdit'#14'LazDocPathEdit'#4'Left'#2#6#6'Height'#2
+#23#3'Top'#3#154#0#5'Width'#3'm'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRigh'
+'t'#0#8'TabOrder'#2#3#4'Text'#6#14'LazDocPathEdit'#0#0#7'TButton'#18'LazDocB'
+'rowseButton'#4'Left'#3'x'#1#6'Height'#2#23#3'Top'#3#154#0#5'Width'#2#23#7'A'
+'nchors'#11#5'akTop'#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#4#7'Captio'
+'n'#6#3'...'#7'OnClick'#7#23'LazDocBrowseButtonClick'#8'TabOrder'#2#4#0#0#0#0
+#5'TPage'#8'SavePage'#7'Caption'#6#8'SavePage'#11'ClientWidth'#3#201#1#12'Cl'
+'ientHeight'#3'U'#1#0#9'TCheckBox'#26'SaveClosedUnitInfoCheckBox'#4'Left'#2#6
+#6'Height'#2#20#3'Top'#2#6#5'Width'#3#189#1#5'Align'#7#5'alTop'#18'BorderSpa'
+'cing.Left'#2#6#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#7'Capt'
+'ion'#6#26'SaveClosedUnitInfoCheckBox'#8'TabOrder'#2#0#0#0#9'TCheckBox'#31'S'
+'aveOnlyProjectUnitInfoCheckBox'#21'AnchorSideTop.Control'#7#26'SaveClosedUn'
+'itInfoCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'
+#2#20#3'Top'#2#28#5'Width'#3#189#1#5'Align'#7#5'alTop'#18'BorderSpacing.Left'
+#2#6#17'BorderSpacing.Top'#2#2#19'BorderSpacing.Right'#2#6#7'Caption'#6#31'S'
+'aveOnlyProjectUnitInfoCheckBox'#8'TabOrder'#2#1#0#0#11'TRadioGroup'#29'Save'
+'SessionLocationRadioGroup'#21'AnchorSideTop.Control'#7#31'SaveOnlyProjectUn'
+'itInfoCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#7#6'Height'
+#2'u'#3'Top'#2';'#5'Width'#3#157#1#8'AutoFill'#9#17'BorderSpacing.Top'#2#5#20
+'BorderSpacing.Around'#2#6#7'Caption'#6#29'SaveSessionLocationRadioGroup'#28
+'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'C'
,'hildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing'
+'.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHoriz'
+'ontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChi'
+'lds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSiz'
+'ing.ControlsPerLine'#2#1#8'TabOrder'#2#2#0#0#0#5'TPage'#15'VersionInfoPage'
+#7'Caption'#6#15'VersionInfoPage'#11'ClientWidth'#3#201#1#12'ClientHeight'#3
+'U'#1#0#9'TGroupBox'#19'VersionInfoGroupBox'#22'AnchorSideLeft.Control'#7#24
+'LanguageSettingsGroupBox'#21'AnchorSideTop.Control'#7#22'UseVersionInfoChec'
+'kBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#24
+'LanguageSettingsGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2
+#6#6'Height'#2'I'#3'Top'#2' '#5'Width'#3#189#1#7'Anchors'#11#5'akTop'#6'akLe'
+'ft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#7'Caption'#6#17'Version Numberin'
+'g'#12'ClientHeight'#2'I'#11'ClientWidth'#3#189#1#8'TabOrder'#2#0#0#6'TLabel'
+#12'VersionLabel'#4'Left'#2#6#6'Height'#2#13#3'Top'#2#2#5'Width'#2'/'#7'Capt'
+'ion'#6#8'Version:'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#18
+'MajorRevisionLabel'#22'AnchorSideLeft.Control'#7#15'VersionSpinEdit'#19'Anc'
+'horSideLeft.Side'#7#9'asrBottom'#4'Left'#2'e'#6'Height'#2#13#3'Top'#2#4#5'W'
+'idth'#2'X'#18'BorderSpacing.Left'#2#10#7'Caption'#6#15'Major Revision:'#5'C'
+'olor'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#18'MinorRevisionLabel'#22
+'AnchorSideLeft.Control'#7#21'MajorRevisionSpinEdit'#19'AnchorSideLeft.Side'
+#7#9'asrBottom'#4'Left'#3#237#0#6'Height'#2#13#3'Top'#2#5#5'Width'#2'X'#18'B'
+'orderSpacing.Left'#2#10#7'Caption'#6#15'Minor Revision:'#5'Color'#7#6'clNon'
+'e'#11'ParentColor'#8#0#0#6'TLabel'#10'BuildLabel'#22'AnchorSideLeft.Control'
+#7#21'MinorRevisionSpinEdit'#19'AnchorSideLeft.Side'#7#9'asrBottom'#4'Left'#3
+'q'#1#6'Height'#2#13#3'Top'#2#5#5'Width'#2' '#18'BorderSpacing.Left'#2#6#7'C'
+'aption'#6#6'Build:'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#5'TEdit'#9'B'
+'uildEdit'#22'AnchorSideLeft.Control'#7#10'BuildLabel'#19'AnchorSideLeft.Sid'
+'e'#7#9'asrBottom'#4'Left'#3#151#1#6'Height'#2#20#3'Top'#2#2#5'Width'#2' '#18
+'BorderSpacing.Left'#2#6#8'TabOrder'#2#0#4'Text'#6#1'0'#0#0#9'TSpinEdit'#15
+'VersionSpinEdit'#22'AnchorSideLeft.Control'#7#12'VersionLabel'#19'AnchorSid'
+'eLeft.Side'#7#9'asrBottom'#4'Left'#2';'#6'Height'#2#20#3'Top'#2#1#5'Width'#2
+' '#18'BorderSpacing.Left'#2#6#8'TabOrder'#2#1#0#0#9'TSpinEdit'#21'MajorRevi'
+'sionSpinEdit'#22'AnchorSideLeft.Control'#7#18'MajorRevisionLabel'#19'Anchor'
+'SideLeft.Side'#7#9'asrBottom'#4'Left'#3#195#0#6'Height'#2#20#5'Width'#2' '
+#18'BorderSpacing.Left'#2#6#8'TabOrder'#2#2#0#0#9'TSpinEdit'#21'MinorRevisio'
+'nSpinEdit'#22'AnchorSideLeft.Control'#7#18'MinorRevisionLabel'#19'AnchorSid'
+'eLeft.Side'#7#9'asrBottom'#4'Left'#3'K'#1#6'Height'#2#20#3'Top'#2#2#5'Width'
+#2' '#18'BorderSpacing.Left'#2#6#8'TabOrder'#2#3#0#0#9'TCheckBox"Automatical'
+'lyIncreaseBuildCheckBox'#4'Left'#2#6#6'Height'#2#20#3'Top'#2#28#5'Width'#3
+#186#0#7'Caption'#6#28'Automatically increase Build'#7'Enabled'#8#8'TabOrder'
+#2#4#0#0#0#9'TCheckBox'#22'UseVersionInfoCheckBox'#4'Left'#2#12#6'Height'#2
+#20#3'Top'#2#6#5'Width'#3#218#0#7'Caption'#6'"Include Version Info in execut'
+'able'#8'OnChange'#7#28'UseVersionInfoCheckBoxChange'#8'TabOrder'#2#1#0#0#9
+'TGroupBox'#24'LanguageSettingsGroupBox'#22'AnchorSideLeft.Control'#7#17'Oth'
+'erInfoGroupBox'#21'AnchorSideTop.Control'#7#19'VersionInfoGroupBox'#18'Anch'
+'orSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#17'OtherInfoGr'
+'oupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'Q'#3
+'Top'#2'o'#5'Width'#3#189#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#17
+'BorderSpacing.Top'#2#6#7'Caption'#6#16'Language Options'#12'ClientHeight'#2
+'Q'#11'ClientWidth'#3#189#1#8'TabOrder'#2#2#0#6'TLabel'#22'LanguageSelection'
+'Label'#4'Left'#2#6#6'Height'#2#13#3'Top'#2#6#5'Width'#2't'#7'Caption'#6#19
+'Language Selection:'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#17
+'CharacterSetLabel'#4'Left'#3#12#1#6'Height'#2#13#3'Top'#2#6#5'Width'#2'Q'#7
+'Caption'#6#14'Character Set:'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#9
+'TComboBox'#25'LanguageSelectionComboBox'#21'AnchorSideTop.Control'#7#22'Lan'
+'guageSelectionLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'He'
+'ight'#2#21#3'Top'#2#21#5'Width'#3#248#0#16'AutoCompleteText'#11#22'cbactEnd'
+'OfLineComplete'#20'cbactSearchAscending'#0#17'BorderSpacing.Top'#2#2#9'MaxL'
+'ength'#2#0#8'TabOrder'#2#0#4'Text'#6#12'U.S. English'#0#0#9'TComboBox'#20'C'
+'haracterSetComboBox'#21'AnchorSideTop.Control'#7#25'LanguageSelectionComboB'
+'ox'#4'Left'#3#12#1#6'Height'#2#21#3'Top'#2#21#5'Width'#2'h'#7'Anchors'#11#5
+'akTop'#6'akLeft'#7'akRight'#0#16'AutoCompleteText'#11#22'cbactEndOfLineComp'
+'lete'#20'cbactSearchAscending'#0#9'MaxLength'#2#0#8'TabOrder'#2#1#4'Text'#6
+#12'Multilingual'#0#0#0#9'TGroupBox'#17'OtherInfoGroupBox'#21'AnchorSideTop.'
,'Control'#7#24'LanguageSettingsGroupBox'#18'AnchorSideTop.Side'#7#9'asrBotto'
+'m'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#3#137#0#3
+'Top'#3#198#0#5'Width'#3#189#1#5'Align'#7#8'alBottom'#7'Anchors'#11#5'akTop'
+#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#10'Other I'
+'nfo'#12'ClientHeight'#3#137#0#11'ClientWidth'#3#189#1#8'TabOrder'#2#3#0#6'T'
+'Label'#16'DescriptionLabel'#21'AnchorSideTop.Control'#7#15'DescriptionEdit'
+#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#13#3'Top'#2#3
+#5'Width'#2'C'#7'Caption'#6#12'Description:'#5'Color'#7#6'clNone'#11'ParentC'
+'olor'#8#0#0#6'TLabel'#14'CopyrightLabel'#21'AnchorSideTop.Control'#7#13'Cop'
+'yrightEdit'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#13
+#3'Top'#2#30#5'Width'#2':'#7'Caption'#6#10'Copyright:'#5'Color'#7#6'clNone'
+#11'ParentColor'#8#0#0#5'TEdit'#15'DescriptionEdit'#22'AnchorSideLeft.Contro'
+'l'#7#16'DescriptionLabel'#19'AnchorSideLeft.Side'#7#9'asrBottom'#23'AnchorS'
+'ideRight.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9'asrB'
+'ottom'#4'Left'#2'O'#6'Height'#2#21#3'Top'#2#255#5'Width'#3'h'#1#7'Anchors'
+#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#6#19'BorderSpac'
+'ing.Right'#2#6#8'TabOrder'#2#0#0#0#5'TEdit'#13'CopyrightEdit'#22'AnchorSide'
+'Left.Control'#7#14'CopyrightLabel'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21
+'AnchorSideTop.Control'#7#15'DescriptionEdit'#18'AnchorSideTop.Side'#7#9'asr'
+'rSpacing.Right'#2#6#7'Caption'#6#31'SaveOnlyProjectUnitInfoCheckBox'#8'TabO'
+'rder'#2#1#0#0#11'TRadioGroup'#29'SaveSessionLocationRadioGroup'#21'AnchorSi'
+'deTop.Control'#7#31'SaveOnlyProjectUnitInfoCheckBox'#18'AnchorSideTop.Side'
+#7#9'asrBottom'#4'Left'#2#7#6'Height'#2'u'#3'Top'#2';'#5'Width'#3#157#1#8'Au'
+'toFill'#9#17'BorderSpacing.Top'#2#5#20'BorderSpacing.Around'#2#6#7'Caption'
+#6#29'SaveSessionLocationRadioGroup'#28'ChildSizing.LeftRightSpacing'#2#6#28
+'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'cr'
+'sHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousC'
+'hildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildS'
+'izing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclL'
+'eftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1#8'TabOrder'#2
+#2#0#0#0#5'TPage'#15'VersionInfoPage'#7'Caption'#6#15'VersionInfoPage'#11'Cl'
+'ientWidth'#3#193#1#12'ClientHeight'#3';'#1#0#9'TGroupBox'#19'VersionInfoGro'
+'upBox'#22'AnchorSideLeft.Control'#7#24'LanguageSettingsGroupBox'#21'AnchorS'
+'ideTop.Control'#7#22'UseVersionInfoCheckBox'#18'AnchorSideTop.Side'#7#9'asr'
+'Bottom'#23'AnchorSideRight.Control'#7#24'LanguageSettingsGroupBox'#20'Ancho'
+'rSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'Q'#3'Top'#2#27#5'Wi'
+'dth'#3#181#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing'
+'.Top'#2#6#7'Caption'#6#17'Version Numbering'#12'ClientHeight'#2'Q'#11'Clien'
+'tWidth'#3#181#1#8'TabOrder'#2#0#0#6'TLabel'#12'VersionLabel'#4'Left'#2#6#6
+'Height'#2#17#5'Width'#2'+'#7'Caption'#6#8'Version:'#11'ParentColor'#8#0#0#6
+'TLabel'#18'MajorRevisionLabel'#22'AnchorSideLeft.Control'#7#15'VersionSpinE'
+'dit'#19'AnchorSideLeft.Side'#7#9'asrBottom'#4'Left'#2'j'#6'Height'#2#17#5'W'
+'idth'#2'R'#18'BorderSpacing.Left'#2#30#7'Caption'#6#15'Major Revision:'#11
+'ParentColor'#8#0#0#6'TLabel'#18'MinorRevisionLabel'#22'AnchorSideLeft.Contr'
+'ol'#7#21'MajorRevisionSpinEdit'#19'AnchorSideLeft.Side'#7#9'asrBottom'#4'Le'
+'ft'#3#206#0#6'Height'#2#17#5'Width'#2'S'#18'BorderSpacing.Left'#2#30#7'Capt'
+'ion'#6#15'Minor Revision:'#11'ParentColor'#8#0#0#6'TLabel'#10'BuildLabel'#22
+'AnchorSideLeft.Control'#7#21'MinorRevisionSpinEdit'#19'AnchorSideLeft.Side'
+#7#9'asrBottom'#4'Left'#3'2'#1#6'Height'#2#17#5'Width'#2#31#18'BorderSpacing'
+'.Left'#2#30#7'Caption'#6#6'Build:'#11'ParentColor'#8#0#0#5'TEdit'#9'BuildEd'
+'it'#22'AnchorSideLeft.Control'#7#10'BuildLabel'#21'AnchorSideTop.Control'#7
+#10'BuildLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3'2'#1#6'Heigh'
+'t'#2#20#3'Top'#2#17#5'Width'#2'F'#8'TabOrder'#2#0#4'Text'#6#1'0'#0#0#9'TSpi'
+'nEdit'#15'VersionSpinEdit'#22'AnchorSideLeft.Control'#7#12'VersionLabel'#21
+'AnchorSideTop.Control'#7#12'VersionLabel'#18'AnchorSideTop.Side'#7#9'asrBot'
+'tom'#4'Left'#2#6#6'Height'#2#20#3'Top'#2#17#5'Width'#2'F'#8'TabOrder'#2#1#0
+#0#9'TSpinEdit'#21'MajorRevisionSpinEdit'#22'AnchorSideLeft.Control'#7#18'Ma'
+'jorRevisionLabel'#21'AnchorSideTop.Control'#7#18'MajorRevisionLabel'#18'Anc'
+'horSideTop.Side'#7#9'asrBottom'#4'Left'#2'j'#6'Height'#2#20#3'Top'#2#17#5'W'
+'idth'#2'F'#8'TabOrder'#2#2#0#0#9'TSpinEdit'#21'MinorRevisionSpinEdit'#22'An'
+'chorSideLeft.Control'#7#18'MinorRevisionLabel'#21'AnchorSideTop.Control'#7
+#18'MinorRevisionLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#206#0
+#6'Height'#2#20#3'Top'#2#17#5'Width'#2'F'#8'TabOrder'#2#3#0#0#9'TCheckBox"Au'
+'tomaticallyIncreaseBuildCheckBox'#22'AnchorSideLeft.Control'#7#12'VersionLa'
+'bel'#4'Left'#2#6#6'Height'#2#15#3'Top'#2'('#5'Width'#3#153#0#7'Caption'#6#28
+'Automatically increase Build'#7'Enabled'#8#8'TabOrder'#2#4#0#0#0#9'TCheckBo'
+'x'#22'UseVersionInfoCheckBox'#4'Left'#2#6#6'Height'#2#15#3'Top'#2#6#5'Width'
+#3#182#0#7'Caption'#6'"Include Version Info in executable'#8'OnChange'#7#28
+'UseVersionInfoCheckBoxChange'#8'TabOrder'#2#1#0#0#9'TGroupBox'#24'LanguageS'
+'ettingsGroupBox'#22'AnchorSideLeft.Control'#7#17'OtherInfoGroupBox'#21'Anch'
+'orSideTop.Control'#7#19'VersionInfoGroupBox'#18'AnchorSideTop.Side'#7#9'asr'
+'Bottom'#23'AnchorSideRight.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRi'
+'ght.Side'#7#9'asrBottom'#4'Left'#2'F'#6'Height'#2#21#3'Top'#2#26#5'Width'#3
+'q'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2
+#6#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#8'TabOrder'#2#1#0#0
+#7'TButton'#20'AdditionalInfoButton'#21'AnchorSideTop.Control'#7#13'Copyrigh'
+'tEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7
+#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSide'
+'Bottom.Control'#7#17'OtherInfoGroupBox'#21'AnchorSideBottom.Side'#7#9'asrBo'
+'ttom'#4'Left'#3'Y'#1#6'Height'#2#26#3'Top'#2'i'#5'Width'#2'^'#7'Anchors'#11
+#7'akRight'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#25'Bord'
+'erSpacing.InnerBorder'#2#4#7'Caption'#6#15'Additional Info'#7'OnClick'#7#25
+'AdditionalInfoButtonClick'#8'TabOrder'#2#2#0#0#0#0#5'TPage'#8'i18nPage'#7'C'
+'aption'#6#4'i18n'#11'ClientWidth'#3#201#1#12'ClientHeight'#3'U'#1#0#9'TGrou'
+'pBox'#11'RSTGroupBox'#22'AnchorSideLeft.Control'#7#8'i18nPage'#21'AnchorSid'
+'eTop.Control'#7#8'i18nPage'#23'AnchorSideRight.Control'#7#8'i18nPage'#20'An'
+'chorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'3'#3'Top'#2#6#5
+'Width'#3#185#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpaci'
+'ng.Left'#2#6#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#7'Captio'
+'n'#6#11'RSTGroupBox'#12'ClientHeight'#2'3'#11'ClientWidth'#3#185#1#8'TabOrd'
+'er'#2#0#0#5'TEdit'#13'RSTOutDirEdit'#22'AnchorSideLeft.Control'#7#11'RSTGro'
+'upBox'#21'AnchorSideTop.Control'#7#11'RSTGroupBox'#23'AnchorSideRight.Contr'
+'ol'#7#15'RSTOutDirButton'#6'Height'#2#23#5'Width'#3#162#1#7'Anchors'#11#5'a'
+'kTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0#4'Text'#6#13'RSTOutDirEdit'#0#0
+#7'TButton'#15'RSTOutDirButton'#21'AnchorSideTop.Control'#7#11'RSTGroupBox'
+#23'AnchorSideRight.Control'#7#11'RSTGroupBox'#20'AnchorSideRight.Side'#7#9
+'asrBottom'#24'AnchorSideBottom.Control'#7#13'RSTOutDirEdit'#21'AnchorSideBo'
+'ttom.Side'#7#9'asrBottom'#4'Left'#3#162#1#6'Height'#2#23#5'Width'#2#23#7'An'
+'chors'#11#5'akTop'#7'akRight'#8'akBottom'#0#8'AutoSize'#9#25'BorderSpacing.'
+'InnerBorder'#2#4#7'Caption'#6#3'...'#7'OnClick'#7#20'RSTOutDirButtonClick'#8
+'TabOrder'#2#1#0#0#0#0#0#7'TButton'#12'CancelButton'#4'Left'#3's'#1#6'Height'
+#2#26#3'Top'#3'Z'#1#5'Width'#2'K'#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'A'
+'utoSize'#9#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6'Can'
+'cel'#20'Constraints.MinWidth'#2'K'#11'ModalResult'#2#2#8'TabOrder'#2#1#0#0#7
+'TButton'#8'OKButton'#23'AnchorSideRight.Control'#7#12'CancelButton'#4'Left'
+#3#24#1#6'Height'#2#26#3'Top'#3'Z'#1#5'Width'#2'K'#7'Anchors'#11#7'akRight'#8
+'akBottom'#0#8'AutoSize'#9#19'BorderSpacing.Right'#2#10#20'BorderSpacing.Aro'
+'und'#2#6#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#2'OK'#20'Constraint'
+'s.MinWidth'#2'K'#7'Default'#9#11'ModalResult'#2#1#8'TabOrder'#2#2#0#0#22'TS'
+'electDirectoryDialog'#21'SelectDirectoryDialog'#5'Title'#6#16'Select Direct'
+'ory'#11'FilterIndex'#2#0#4'left'#3'X'#1#3'top'#2#8#0#0#0
+'ght.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'Q'#3'Top'#2'r'#5'Width'#3
+#181#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2
+#6#7'Caption'#6#16'Language Options'#12'ClientHeight'#2'Q'#11'ClientWidth'#3
+#181#1#8'TabOrder'#2#2#0#6'TLabel'#22'LanguageSelectionLabel'#4'Left'#2#6#6
+'Height'#2#17#5'Width'#2'k'#7'Caption'#6#19'Language Selection:'#11'ParentCo'
+'lor'#8#0#0#6'TLabel'#17'CharacterSetLabel'#4'Left'#3#12#1#6'Height'#2#17#5
+'Width'#2'I'#7'Caption'#6#14'Character Set:'#11'ParentColor'#8#0#0#9'TComboB'
+'ox'#25'LanguageSelectionComboBox'#22'AnchorSideLeft.Control'#7#22'LanguageS'
,'electionLabel'#21'AnchorSideTop.Control'#7#22'LanguageSelectionLabel'#18'An'
+'chorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2#19#5'W'
+'idth'#3#248#0#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cbactSe'
+'archAscending'#0#17'BorderSpacing.Top'#2#2#10'ItemHeight'#2#13#9'MaxLength'
+#2#0#8'TabOrder'#2#0#4'Text'#6#12'U.S. English'#0#0#9'TComboBox'#20'Characte'
+'rSetComboBox'#22'AnchorSideLeft.Control'#7#17'CharacterSetLabel'#21'AnchorS'
+'ideTop.Control'#7#25'LanguageSelectionComboBox'#4'Left'#3#12#1#6'Height'#2
+#21#3'Top'#2#19#5'Width'#2'`'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0
+#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cbactSearchAscending'
+#0#10'ItemHeight'#2#13#9'MaxLength'#2#0#8'TabOrder'#2#1#4'Text'#6#12'Multili'
+'ngual'#0#0#0#9'TGroupBox'#17'OtherInfoGroupBox'#21'AnchorSideTop.Control'#7
+#24'LanguageSettingsGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#20'Ancho'
+'rSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'l'#3'Top'#3#201#0#5
+'Width'#3#181#1#5'Align'#7#8'alBottom'#7'Anchors'#11#5'akTop'#6'akLeft'#7'ak'
+'Right'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#10'Other Info'#12'Client'
+'Height'#2'Z'#11'ClientWidth'#3#177#1#8'TabOrder'#2#3#0#6'TLabel'#16'Descrip'
+'tionLabel'#21'AnchorSideTop.Control'#7#15'DescriptionEdit'#18'AnchorSideTop'
+'.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#17#3'Top'#2#1#5'Width'#2'@'#7
+'Caption'#6#12'Description:'#11'ParentColor'#8#0#0#6'TLabel'#14'CopyrightLab'
+'el'#21'AnchorSideTop.Control'#7#13'CopyrightEdit'#18'AnchorSideTop.Side'#7#9
+'asrCenter'#4'Left'#2#6#6'Height'#2#17#3'Top'#2#28#5'Width'#2'8'#7'Caption'#6
+#10'Copyright:'#11'ParentColor'#8#0#0#5'TEdit'#15'DescriptionEdit'#22'Anchor'
+'SideLeft.Control'#7#16'DescriptionLabel'#19'AnchorSideLeft.Side'#7#9'asrBot'
+'tom'#23'AnchorSideRight.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRight'
+'.Side'#7#9'asrBottom'#4'Left'#2'L'#6'Height'#2#21#3'Top'#2#255#5'Width'#3'_'
+#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#6
+#19'BorderSpacing.Right'#2#6#8'TabOrder'#2#0#0#0#5'TEdit'#13'CopyrightEdit'
+#22'AnchorSideLeft.Control'#7#15'DescriptionEdit'#21'AnchorSideTop.Control'#7
+#15'DescriptionEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRigh'
+'t.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4
+'Left'#2'L'#6'Height'#2#21#3'Top'#2#26#5'Width'#3'_'#1#7'Anchors'#11#5'akTop'
+#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6
+#8'TabOrder'#2#1#0#0#7'TButton'#20'AdditionalInfoButton'#21'AnchorSideTop.Co'
+'ntrol'#7#13'CopyrightEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorS'
+'ideRight.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9'asrB'
+'ottom'#24'AnchorSideBottom.Control'#7#17'OtherInfoGroupBox'#21'AnchorSideBo'
+'ttom.Side'#7#9'asrBottom'#4'Left'#3'L'#1#6'Height'#2#25#3'Top'#2';'#5'Width'
+#2'_'#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.'
+'Around'#2#6#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#15'Additional In'
+'fo'#7'OnClick'#7#25'AdditionalInfoButtonClick'#8'TabOrder'#2#2#0#0#0#0#5'TP'
+'age'#8'i18nPage'#7'Caption'#6#4'i18n'#11'ClientWidth'#3#193#1#12'ClientHeig'
+'ht'#3';'#1#0#9'TGroupBox'#11'RSTGroupBox'#22'AnchorSideLeft.Control'#7#8'i1'
+'8nPage'#21'AnchorSideTop.Control'#7#8'i18nPage'#23'AnchorSideRight.Control'
+#7#8'i18nPage'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'
+#2'3'#3'Top'#2#6#5'Width'#3#181#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'
+#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Rig'
+'ht'#2#6#7'Caption'#6#11'RSTGroupBox'#12'ClientHeight'#2'3'#11'ClientWidth'#3
+#181#1#8'TabOrder'#2#0#0#5'TEdit'#13'RSTOutDirEdit'#22'AnchorSideLeft.Contro'
+'l'#7#11'RSTGroupBox'#21'AnchorSideTop.Control'#7#11'RSTGroupBox'#23'AnchorS'
+'ideRight.Control'#7#15'RSTOutDirButton'#4'Left'#2#6#6'Height'#2#23#5'Width'
+#3#141#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'
+#2#6#8'TabOrder'#2#0#4'Text'#6#13'RSTOutDirEdit'#0#0#7'TButton'#15'RSTOutDir'
+'Button'#21'AnchorSideTop.Control'#7#11'RSTGroupBox'#23'AnchorSideRight.Cont'
+'rol'#7#11'RSTGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSid'
+'eBottom.Control'#7#13'RSTOutDirEdit'#21'AnchorSideBottom.Side'#7#9'asrBotto'
+'m'#4'Left'#3#147#1#6'Height'#2#23#5'Width'#2#24#7'Anchors'#11#5'akTop'#7'ak'
+'Right'#8'akBottom'#0#19'BorderSpacing.Right'#2#6#25'BorderSpacing.InnerBord'
+'er'#2#4#7'Caption'#6#3'...'#7'OnClick'#7#20'RSTOutDirButtonClick'#8'TabOrde'
+'r'#2#1#0#0#0#0#0#7'TButton'#12'CancelButton'#4'Left'#3's'#1#6'Height'#2#25#3
+'Top'#3'['#1#5'Width'#2'K'#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'
+#9#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6'Cancel'#20'C'
+'onstraints.MinWidth'#2'K'#11'ModalResult'#2#2#8'TabOrder'#2#1#0#0#7'TButton'
+#8'OKButton'#23'AnchorSideRight.Control'#7#12'CancelButton'#4'Left'#3#30#1#6
+'Height'#2#25#3'Top'#3'['#1#5'Width'#2'K'#7'Anchors'#11#7'akRight'#8'akBotto'
,'m'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#10#25'BorderSpacing.InnerBord'
+'er'#2#4#7'Caption'#6#2'OK'#20'Constraints.MinWidth'#2'K'#7'Default'#9#11'Mo'
+'dalResult'#2#1#8'TabOrder'#2#2#0#0#22'TSelectDirectoryDialog'#21'SelectDire'
+'ctoryDialog'#5'Title'#6#16'Select Directory'#11'FilterIndex'#2#0#4'left'#3
+'X'#1#3'top'#2#8#0#0#0
]);

View File

@ -41,7 +41,7 @@ uses
FileUtil,
IDEWindowIntf, ProjectIntf, IDEDialogs,
IDEOptionDefs, LazarusIDEStrConsts, Project, IDEProcs, W32VersionInfo,
VersionInfoAdditionalInfo;
VersionInfoAdditionalInfo, W32Manifest;
type
@ -60,6 +60,7 @@ type
i18nPage: TPage;
SavePage: TPage;
UseAppBundleCheckBox: TCheckBox;
UseXPManifestCheckBox: TCheckBox;
VersionInfoPage: TPage;
AppSettingsGroupBox: TGroupBox;
@ -252,6 +253,8 @@ begin
TargetFileEdit.Text := '';
UseAppBundleCheckBox.Caption := dlgPOUseAppBundle;
UseAppBundleCheckBox.Checked := False;
UseXPManifestCheckBox.Caption := dlgPOUseManifest;
UseXPManifestCheckBox.Checked := False;
end;
procedure TProjectOptionsDialog.SetupLazDocPage(PageIndex: Integer);
@ -350,6 +353,8 @@ begin
TitleEdit.Text := Title;
TargetFileEdit.Text := TargetFilename;
UseAppBundleCheckBox.Checked := UseAppBundle;
UseXPManifestCheckBox.Checked := XPManifest.UseManifest;
UseVersionInfoCheckBox.Checked := VersionInfo.UseVersionInfo;
end;
FillAutoCreateFormsListbox;
FillAvailFormsListBox;
@ -425,6 +430,8 @@ begin
Title := TitleEdit.Text;
TargetFilename := TargetFileEdit.Text;
UseAppBundle := UseAppBundleCheckBox.Checked;
XPManifest.UseManifest := UseXPManifestCheckBox.Checked;
Project.XPManifest.UpdateMainSourceFile(Project.MainFilename);
end;
// flags

185
ide/w32manifest.pas Normal file
View File

@ -0,0 +1,185 @@
{
/***************************************************************************
w32manifest.pas - Lazarus IDE unit
---------------------------------------
TProjectXPManifest is responsible for the inclusion of the
manifest in windows executables.
***************************************************************************/
***************************************************************************
* *
* This source is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This code is distributed in the hope that it will be useful, but *
* WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* General Public License for more details. *
* *
* A copy of the GNU General Public License is available on the World *
* Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
* obtain it by writing to the Free Software Foundation, *
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
* *
***************************************************************************
}
unit W32Manifest;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Process, LCLProc, Controls, Forms,
CodeToolManager, CodeCache, CodeAtom, LazConf, SourceChanger, LResources;
type
{ TProjectXPManifest }
TProjectXPManifest = class(TObject)
private
FMessages: TStrings;
FUseManifest: boolean;
resFilename: string;
procedure SetUseManifest(const AValue: boolean);
procedure SetFileNames(const MainFilename: string);
public
constructor Create;
destructor Destroy; override;
function CompileRCFile(const MainFilename, TargetOS: string): TModalResult;
function CreateManifest: Boolean;
function UpdateMainSourceFile(const AFilename: string): TModalResult;
property Messages: TStrings read FMessages;
property UseManifest: boolean read FUseManifest write SetUseManifest;
end;
implementation
{-----------------------------------------------------------------------------
TProjectXPManifest CompileRCFile
-----------------------------------------------------------------------------}
function TProjectXPManifest.CompileRCFile(const MainFilename, TargetOS: string): TModalResult;
begin
// in future we will compile manifest from rc, but now we just add our template
Result := mrOk;
SetFileNames(MainFilename);
if (TargetOS = 'win32') and UseManifest then
begin
if not CreateManifest then
Result := mrCancel;
end;
end;
function TProjectXPManifest.CreateManifest: Boolean;
var
Res: TLResource;
Stream: TStream;
begin
// here will be better to compile res from rc, but we will only extract
// precompiled res from lazarus resource due to error in windres.
// Error description:
// if we compile manifest by windres then we will not link our project if we
// have other res files before manifest (I tested with version info resource)
// But if we compile that manifest.rc with other resource compiler then we have
// not such errors. So at this moment we decided to extract precompiled res insted
// of have problems with rc compilation and further linking
Result := False;
Res := LazarusResources.Find('manifest');
if (Res <> nil) and (Res.Value <> '') and (Res.ValueType = 'RES') then
begin
Stream := nil;
try
Stream := TFileStream.Create(resFileName, fmCreate);
Stream.Write(Res.Value[1], length(Res.Value));
Result := True;
finally
Stream.Free;
end;
end;
end;
procedure TProjectXPManifest.SetUseManifest(const AValue: boolean);
begin
FUseManifest := AValue;
end;
{-----------------------------------------------------------------------------
TProjectXPManifest UpdateMainSourceFile
-----------------------------------------------------------------------------}
function TProjectXPManifest.UpdateMainSourceFile(const AFilename: string): TModalResult;
var
NewX, NewY, NewTopLine: integer;
ManifestCodeBuf: TCodeBuffer;
CodePos: TCodeXYPosition;
begin
Result := mrCancel;
ManifestCodeBuf := CodeToolBoss.LoadFile(AFilename,false,false);
if ManifestCodeBuf <> nil then
begin
SetFileNames(AFilename);
if not CodeToolBoss.FindResourceDirective(ManifestCodeBuf, 1, 1,
ManifestCodeBuf, NewX, NewY,
NewTopLine, ExtractFileName(resFileName)) then
begin
if UseManifest then
begin
if not CodeToolBoss.AddResourceDirective(ManifestCodeBuf, ExtractFileName(resFileName)) then
begin
Messages.Add('Could not add "{$R'+ ExtractFileName(resFileName) +'"} to main source!');
exit;
end;
end;
end else
if not UseManifest then
begin
with CodeToolBoss.CurCodeTool do
begin
CodeToolBoss.SourceChangeCache.MainScanner := Scanner;
CodePos.Code := ManifestCodeBuf;
CodePos.X := NewX;
CodePos.Y := NewY;
CaretToCleanPos(CodePos, NewX);
if CodeToolBoss.SourceChangeCache.Replace(gtNone, gtNone, NewX, NewX + Length(ExtractFileName(resFileName)) + 5, '') then
begin
if not CodeToolBoss.SourceChangeCache.Apply then
exit;
end else
exit;
end;
end;
end;
Result := mrOk;
end;
{-----------------------------------------------------------------------------
TProjectXPManifest SetFileNames
-----------------------------------------------------------------------------}
procedure TProjectXPManifest.SetFileNames(const MainFilename: string);
begin
resFilename := ExtractFilePath(MainFilename) + 'manifest.res';
end;
constructor TProjectXPManifest.Create;
begin
FMessages := TStringList.Create;
end;
destructor TProjectXPManifest.Destroy;
begin
FMessages.Free;
inherited Destroy;
end;
initialization
{$i manifest.lrs}
end.