{----------------------------------------------------------------------------- The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/MPL-1.1.html Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License for the specific language governing rights and limitations under the License. You may retrieve the latest version of this file at the Project JEDI's JVCL home page, located at http://jvcl.delphi-jedi.org Known Issues: -----------------------------------------------------------------------------} unit MainFormUnit; {$I jvcl.inc} interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ImgList, ActnList, Menus, ToolWin, ComCtrls, ExtCtrls, StdCtrls, JvDockControlForm, JvDockVIDStyle, JvComponent, JvAppStorage, JvAppIniStorage, JvDockTree, JvComponentBase; type TMainForm = class(TForm) ImageList1: TImageList; ActionList1: TActionList; Action_New_Project: TAction; Action_Open_Project: TAction; Action_Close_All: TAction; Action_Add_Project: TAction; Action_Remove_Project: TAction; Action_New_File: TAction; Action_Open_File: TAction; Action_Close: TAction; Action_Save_Selected_Items: TAction; Action_Save_Selected_Items_As: TAction; Action_Save_All: TAction; Action_Page_Setup: TAction; Action_Print: TAction; Action_Recent_File_List: TAction; Action_Exit: TAction; Action_Undo: TAction; Action_Open: TAction; Action_Add_Item: TAction; Action_Start: TAction; Action_Link: TAction; Action_Insert_Table: TAction; Action_Bold: TAction; Action_View_Links_on_WWW: TAction; Action_Split: TAction; Action_Contents: TAction; Action_Redo: TAction; Action_Cut: TAction; Action_Copy: TAction; Action_Paste: TAction; Action_Paste_As_HTML: TAction; Action_Delete: TAction; Action_Select_All: TAction; Action_Find_and_Replace: TAction; Action_Go_To: TAction; Action_List_Member: TAction; Action_Parameter_Info: TAction; Action_Complete_Word: TAction; Action_Insert_File_As_Text: TAction; Action_Open_With: TAction; Action_View_in_Browser: TAction; Action_Browse_With: TAction; Action_Sync_Script_Outline: TAction; Action_View_Controls_As_Text: TAction; Action_View_Controls_Graphically: TAction; Action_Project_Explorer: TAction; Action_Properties_Window: TAction; Action_Toolbox: TAction; Action_Immediate: TAction; Action_Autos: TAction; Action_Locals: TAction; Action_Watch: TAction; Action_Threads: TAction; Action_Call_Stack: TAction; Action_Running_Documents: TAction; Action_Task_List: TAction; Action_Visual_Component_Manager: TAction; Action_Object_Browser: TAction; Action_Document_Outline: TAction; Action_Output: TAction; Action_Data_View: TAction; Action_Script_Outline: TAction; Action_Previous_View: TAction; Action_All: TAction; Action_Comment: TAction; Action_Compile_Build_Deploy: TAction; Action_User: TAction; Action_Shortcut: TAction; Action_Smart_Editor: TAction; Action_Current_File: TAction; Action_Checked: TAction; Action_Unchecked: TAction; Action_Define_Window_Layout: TAction; Action_Full_Screen: TAction; Action_Property_Pages: TAction; Action_Refresh: TAction; Action_Start_Without_Debugging: TAction; Action_Break: TAction; Action_End: TAction; Action_Detach_All_Processes: TAction; Action_Restart: TAction; Action_Run_To_Cursor: TAction; Action_Step_Into: TAction; Action_Step_Over: TAction; Action_Step_Out: TAction; Action_Add_Watch: TAction; Action_Insert_Breakpoint: TAction; Action_Enable_Breakpoint: TAction; Action_Clear_All_Breakpoints: TAction; Action_Breakpoints: TAction; Action_Set_Next_Statement: TAction; Action_Show_Next_Statement: TAction; Action_Processes: TAction; Action_Bookmark: TAction; Action_Image: TAction; Action_Form: TAction; Action_Div: TAction; Action_Marquee: TAction; Action_Client: TAction; Action_Server: TAction; Action_HTML_Wizards: TAction; Action_Span: TAction; Action_Insert_Row: TAction; Action_Delete_Row: TAction; Action_Insert_Column: TAction; Action_Delete_Column: TAction; Action_Insert_Cell: TAction; Action_Delete_Cell: TAction; Action_Merge_Cells: TAction; Action_Split_Cell: TAction; Action_Italic: TAction; Action_Underline: TAction; Action_Superscript: TAction; Action_Subscript: TAction; Action_Decrease_Indent: TAction; Action_IncreaseIndent: TAction; Action_Absolute_Positioning: TAction; Action_Lock: TAction; Action_Customize_Toolbox: TAction; Action_Add_In_Manager: TAction; Action_Options: TAction; Action_Dockable: TAction; Action_Hide: TAction; Action_Cascade: TAction; Action_Tile_Horizontally: TAction; Action_Tile_Vertically: TAction; Action_Close_All_Documents: TAction; Action_Window_List: TAction; Action_Windows: TAction; Action_Index: TAction; Action_Search: TAction; Action_Technical_Support: TAction; Action_Microsoft_on_the_Web: TAction; Action_About: TAction; MainMenu1: TMainMenu; MainMenu_File: TMenuItem; Action_File: TAction; Action_Edit: TAction; Action_View: TAction; Action_Project: TAction; Action_Debug: TAction; Action_HTML: TAction; Action_Table: TAction; Action_Format: TAction; Action_Tools: TAction; Action_Window: TAction; Action_Help: TAction; NewProject1: TMenuItem; OpenProject1: TMenuItem; CloseAll1: TMenuItem; AddProject1: TMenuItem; N1: TMenuItem; RemoveProject1: TMenuItem; N2: TMenuItem; NewFile1: TMenuItem; OpenFile1: TMenuItem; N3: TMenuItem; SaveSelectedItems1: TMenuItem; SaveSelectedItemsAs1: TMenuItem; SaveAll1: TMenuItem; N4: TMenuItem; PageSetup1: TMenuItem; Print1: TMenuItem; N5: TMenuItem; RecentFileList1: TMenuItem; N6: TMenuItem; Exit1: TMenuItem; Edit1: TMenuItem; Undo1: TMenuItem; Redo1: TMenuItem; Cut1: TMenuItem; N7: TMenuItem; Delete1: TMenuItem; Paste1: TMenuItem; PasteAsHTML1: TMenuItem; Delete2: TMenuItem; SelectAll1: TMenuItem; FindandReplace1: TMenuItem; GoTo1: TMenuItem; ListMembers1: TMenuItem; ParameterInfo1: TMenuItem; CompleteWord1: TMenuItem; InsertFileAsText1: TMenuItem; N8: TMenuItem; N9: TMenuItem; N10: TMenuItem; View1: TMenuItem; Open1: TMenuItem; OpenWith1: TMenuItem; ViewinBrowser1: TMenuItem; BrowseWith1: TMenuItem; SyncScriptOutline1: TMenuItem; ViewControlsAsText1: TMenuItem; ViewControlsGraphically1: TMenuItem; ProjectExplorer1: TMenuItem; PropertiesWindow1: TMenuItem; Toolbox1: TMenuItem; DefineWindowLayout1: TMenuItem; FullScreen1: TMenuItem; Refresh1: TMenuItem; N11: TMenuItem; N12: TMenuItem; N13: TMenuItem; Debug_Windows1: TMenuItem; Immediate1: TMenuItem; Autos1: TMenuItem; Locals1: TMenuItem; Watch1: TMenuItem; Threads1: TMenuItem; CallStack1: TMenuItem; RunningDocuments1: TMenuItem; Other_Windows1: TMenuItem; TaskList1: TMenuItem; VisualComponentManager1: TMenuItem; ObjectBrowser1: TMenuItem; DocumentOutline1: TMenuItem; Output1: TMenuItem; DataView1: TMenuItem; ScriptOutline1: TMenuItem; Show_Tasks1: TMenuItem; N14: TMenuItem; Toolbars1: TMenuItem; PreviousView1: TMenuItem; All1: TMenuItem; Comment1: TMenuItem; CompileBuildDeploy1: TMenuItem; User1: TMenuItem; Shortcut1: TMenuItem; SmartEditor1: TMenuItem; CurrentFile1: TMenuItem; Checked1: TMenuItem; Unchecked1: TMenuItem; Action_Toolbars_Standard: TAction; Action_Toolbars_Debug: TAction; Standard1: TMenuItem; Debug1: TMenuItem; N15: TMenuItem; Action_Toolbars_Customize: TAction; Customize1: TMenuItem; PropertyPages1: TMenuItem; N16: TMenuItem; N17: TMenuItem; Project1: TMenuItem; AddItem1: TMenuItem; Debug2: TMenuItem; Start1: TMenuItem; StartWithoutDebugging1: TMenuItem; Break1: TMenuItem; End1: TMenuItem; DetachAllProcesses1: TMenuItem; Restart1: TMenuItem; RunToCursor1: TMenuItem; StepInto1: TMenuItem; StepOver1: TMenuItem; StepOut1: TMenuItem; AddWatch1: TMenuItem; InsertBreakpoint1: TMenuItem; EnableBreakpoint1: TMenuItem; ClearAllBreakpoints1: TMenuItem; Breakpoints1: TMenuItem; SetNextStatement1: TMenuItem; ShowNextStatement1: TMenuItem; Processes1: TMenuItem; N18: TMenuItem; N19: TMenuItem; N20: TMenuItem; N21: TMenuItem; N22: TMenuItem; HTML1: TMenuItem; Link1: TMenuItem; Bookmark1: TMenuItem; Image1: TMenuItem; Form1: TMenuItem; Div1: TMenuItem; Span1: TMenuItem; Marquee1: TMenuItem; HTMLWizards1: TMenuItem; N23: TMenuItem; Action_HTML_Script_Block: TAction; ScriptBlock1: TMenuItem; Client1: TMenuItem; Server1: TMenuItem; Table1: TMenuItem; InsertTable1: TMenuItem; InsertRow1: TMenuItem; DeleteRow1: TMenuItem; InsertColumn1: TMenuItem; DeleteColumn1: TMenuItem; InsertCell1: TMenuItem; DeleteCell1: TMenuItem; MergeCells1: TMenuItem; SplitCell1: TMenuItem; N24: TMenuItem; N25: TMenuItem; N26: TMenuItem; Format1: TMenuItem; Bold1: TMenuItem; Italic1: TMenuItem; Underline1: TMenuItem; Superscript1: TMenuItem; Subscript1: TMenuItem; DecreaseIndent1: TMenuItem; IncreaseIndent1: TMenuItem; AbsolutePositioning1: TMenuItem; Lock1: TMenuItem; N27: TMenuItem; N28: TMenuItem; N29: TMenuItem; Tools1: TMenuItem; ViewLinksonWWW1: TMenuItem; CustomizeToolbox1: TMenuItem; AddInManager1: TMenuItem; Options1: TMenuItem; N30: TMenuItem; Window1: TMenuItem; Split1: TMenuItem; Dockable1: TMenuItem; Hide1: TMenuItem; Cascade1: TMenuItem; TileHorizontally1: TMenuItem; TileVertically1: TMenuItem; CloseAllDocuments1: TMenuItem; WindowList1: TMenuItem; Windows1: TMenuItem; N31: TMenuItem; N32: TMenuItem; N33: TMenuItem; Help1: TMenuItem; Contents1: TMenuItem; Index1: TMenuItem; Search1: TMenuItem; TechnicalSupport1: TMenuItem; MicrosoftontheWeb1: TMenuItem; About1: TMenuItem; N34: TMenuItem; N35: TMenuItem; Action_Free_Stuff: TAction; Action_Product_News: TAction; Action_Frequently_Asked_Questions: TAction; Action_Send_Feedback: TAction; Action_Online_Support: TAction; Action_Microsoft_Developer_Network_Online: TAction; Action_Best_of_the_Web: TAction; Action_Search_the_Web: TAction; Action_Web_Tutorial: TAction; Action_Microsoft_Home_Page: TAction; FreeStuff1: TMenuItem; ProductNews1: TMenuItem; FrequentlyAskedQuestions1: TMenuItem; OnlineSupport1: TMenuItem; MicrosoftDeveloperNetworkOnline1: TMenuItem; SendFeedback1: TMenuItem; BestoftheWeb1: TMenuItem; SearchtheWeb1: TMenuItem; WebTutorial1: TMenuItem; MicrosoftHomePage1: TMenuItem; N36: TMenuItem; N37: TMenuItem; MainControlBar: TControlBar; ToolBar_Build: TToolBar; ToolButton_Build_Project: TToolButton; ToolButton_Rebuild_Solution: TToolButton; ToolButton_Cancel: TToolButton; ToolBar_Standard: TToolBar; ToolButton_New_Project: TToolButton; ToolButton_Add_Item: TToolButton; ToolButton_Open_Project: TToolButton; ToolButton_Save_Selected_Items: TToolButton; ToolButton_Save_All: TToolButton; ToolButton_Cut: TToolButton; ToolButton_Copy: TToolButton; ToolButton_Paste: TToolButton; ToolButton_Undo: TToolButton; ToolButton5: TToolButton; ToolButton6: TToolButton; ToolButton_Redo: TToolButton; ToolButton_Start1: TToolButton; ToolButton_Break1: TToolButton; ToolButton19: TToolButton; ToolButton_End1: TToolButton; ToolButton_Find_and_Replace: TToolButton; Toolbar_Find_ComboBox: TComboBox; ToolButton22: TToolButton; ToolButton23: TToolButton; ToolButton_Project_Explorer: TToolButton; ToolButton_Properties_Window: TToolButton; ToolButton_Toolbox: TToolButton; ToolButton_Task_List: TToolButton; ToolButton30: TToolButton; Load_Save_WindowUI_ComboBox: TComboBox; Other_Windows_PopupMenu: TPopupMenu; TaskList2: TMenuItem; VisualComponentManager2: TMenuItem; ObjectBrowser2: TMenuItem; DocumentOutline2: TMenuItem; Output2: TMenuItem; DataView2: TMenuItem; ScriptOutline2: TMenuItem; ToolBar_Debug: TToolBar; ToolButton_Start2: TToolButton; ToolButton_Start_Without_Debugging: TToolButton; ToolButton_Break2: TToolButton; ToolButton_End2: TToolButton; ToolButton_Detach_All_Processes: TToolButton; ToolButton_Restart: TToolButton; ToolButton_Run_To_Cursor: TToolButton; ToolButton_Step_Into: TToolButton; ToolButton36: TToolButton; ToolButton_Step_Over: TToolButton; ToolButton_Step_Out: TToolButton; ToolButton39: TToolButton; ToolButton_Insert_Breakpoint: TToolButton; ToolButton_Enable_Breakpoint: TToolButton; ToolButton_Clear_All_Breakpoints: TToolButton; ToolButton_Breakpoints: TToolButton; ToolButton44: TToolButton; ToolButton_Immediate: TToolButton; ToolButton_Autos: TToolButton; ToolButton_Locals: TToolButton; ToolButton_Watch: TToolButton; ToolButton_Threads: TToolButton; ToolButton_Call_Stack: TToolButton; ToolButton_Running_Documents: TToolButton; ToolButton_Output: TToolButton; ToolButton53: TToolButton; ToolButton_Processes: TToolButton; Action_Build_Project: TAction; Action_Build_Solution: TAction; Action_Rebuild_Solution: TAction; Action_Cancel: TAction; Action_Build: TAction; ActionBuild1: TMenuItem; BuildProject1: TMenuItem; BuildSolution1: TMenuItem; RebuildSolution1: TMenuItem; Cancel1: TMenuItem; ComboBox_Configuration: TComboBox; Action_Toolbars_Build: TAction; Build1: TMenuItem; lbDockServer1: TJvDockServer; JvDockVIDStyle1: TJvDockVIDStyle; MainFormStatusBar: TStatusBar; procedure Action_FileExecute(Sender: TObject); procedure MainControlBarBandMove(Sender: TObject; Control: TControl; var ARect: TRect); procedure Action_New_ProjectExecute(Sender: TObject); procedure Action_ExitExecute(Sender: TObject); procedure Action_Task_ListExecute(Sender: TObject); procedure MainFormStatusBarResize(Sender: TObject); procedure Action_Project_ExplorerExecute(Sender: TObject); procedure Action_Properties_WindowExecute(Sender: TObject); procedure Action_ToolboxExecute(Sender: TObject); procedure Action_ImmediateExecute(Sender: TObject); procedure Action_AutosExecute(Sender: TObject); procedure Action_LocalsExecute(Sender: TObject); procedure Action_WatchExecute(Sender: TObject); procedure Action_ThreadsExecute(Sender: TObject); procedure Action_Call_StackExecute(Sender: TObject); procedure Action_Running_DocumentsExecute(Sender: TObject); procedure Action_Document_OutlineExecute(Sender: TObject); procedure Action_OutputExecute(Sender: TObject); procedure Action_Script_OutlineExecute(Sender: TObject); procedure Action_Define_Window_LayoutExecute(Sender: TObject); procedure Action_Find_and_ReplaceExecute(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormDestroy(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Action_AboutExecute(Sender: TObject); private { Private declarations } FCreated: Boolean; procedure CreateDockableForm; procedure GetToolbarWidthArr; procedure SaveDefaultLayout; procedure LoadDefaultLayout; public { Public declarations } JvAppStorage: TJvAppIniFileStorage; procedure LoadDockInfo; end; var MainForm: TMainForm; const DefineWindowLayoutFileName: string = 'DefineWindowLayout.ini'; SectionString: string = 'DefineWindowLayout'; DefaultLayout: string = 'DefaultLayout'; implementation uses IniFiles, ProjectExplorerUnit, PropertiesUnit, ToolboxUnit, ImmediateUnit, AutosUnit, LocalsUnit, WatchUnit, ThreadsUnit, CallStackUnit, RunningDocumentsUnit, TaskListUnit, DocumentOutlineUnit, OutputUnit, ScriptOutlineUnit, DefineWindowLayoutUnit, FindAndReplaceUnit, SplashUnit; procedure TMainForm.CreateDockableForm; begin ProjectExplorerForm := TProjectExplorerForm.Create(Self); //创建Project Explorer工具窗体 PropertiesForm := TPropertiesForm.Create(Self); //创建Properties工具窗体 ToolboxForm := TToolboxForm.Create(Self); //创建Toolbox工具窗体 {----------------------------------------------------------------------------} ImmediateForm := TImmediateForm.Create(Self); //创建Immediate工具窗体 AutosForm := TAutosForm.Create(Self); //创建Autos工具窗体 LocalsForm := TLocalsForm.Create(Self); //创建Locals工具窗体 WatchForm := TWatchForm.Create(Self); //创建Watch工具窗体 ThreadsForm := TThreadsForm.Create(Self); //创建Threads工具窗体 CallStackForm := TCallStackForm.Create(Self); //创建Call Stack工具窗体 RunningDocumentsForm := TRunningDocumentsForm.Create(Self); //创建Running Documents工具窗体 {----------------------------------------------------------------------------} TaskListForm := TTaskListForm.Create(Self); //创建Task List工具窗体 DocumentOutlineForm := TDocumentOutlineForm.Create(Self); //创建Document Outline工具窗体 OutputForm := TOutputForm.Create(Self); //创建Output工具窗体 ScriptOutlineForm := TScriptOutlineForm.Create(Self); //创建Script Outline工具窗体 {----------------------------------------------------------------------------} FindAndReplaceForm := TFindAndReplaceForm.Create(Self); //创建Find And Replace工具窗体 end; {$R *.DFM} procedure TMainForm.Action_FileExecute(Sender: TObject); begin // end; procedure TMainForm.GetToolbarWidthArr; var i: Integer; begin // for i := 0 to MainControlBar.ControlCount - 1 do MainControlBar.Controls[i].Tag := MainControlBar.Controls[i].Width; FCreated := True; end; procedure TMainForm.MainControlBarBandMove(Sender: TObject; Control: TControl; var ARect: TRect); begin // if (Control.Tag <> ARect.Right - ARect.Left - 13) and FCreated then begin ARect.Right := ARect.Left + Control.Tag + 13; end; end; procedure TMainForm.Action_New_ProjectExecute(Sender: TObject); begin MainFormStatusBar.Panels[2].Text := Format('You clicked ''%s''', [TAction(Sender).Caption]); end; procedure TMainForm.Action_ExitExecute(Sender: TObject); begin Close; end; procedure TMainForm.MainFormStatusBarResize(Sender: TObject); begin if MainFormStatusBar.Width > 450 then MainFormStatusBar.Panels[0].Width := MainFormStatusBar.Width - 350 else MainFormStatusBar.Panels[2].Width := MainFormStatusBar.Width - 200; end; procedure TMainForm.Action_Task_ListExecute(Sender: TObject); begin ShowDockForm(TaskListForm); end; procedure TMainForm.Action_Project_ExplorerExecute(Sender: TObject); begin ShowDockForm(ProjectExplorerForm); end; procedure TMainForm.Action_Properties_WindowExecute(Sender: TObject); begin ShowDockForm(PropertiesForm); end; procedure TMainForm.Action_ToolboxExecute(Sender: TObject); begin ShowDockForm(ToolboxForm); end; procedure TMainForm.Action_ImmediateExecute(Sender: TObject); begin ShowDockForm(ImmediateForm); end; procedure TMainForm.Action_AutosExecute(Sender: TObject); begin ShowDockForm(AutosForm); end; procedure TMainForm.Action_LocalsExecute(Sender: TObject); begin ShowDockForm(LocalsForm); end; procedure TMainForm.Action_WatchExecute(Sender: TObject); begin ShowDockForm(WatchForm); end; procedure TMainForm.Action_ThreadsExecute(Sender: TObject); begin ShowDockForm(ThreadsForm); end; procedure TMainForm.Action_Call_StackExecute(Sender: TObject); begin ShowDockForm(CallStackForm); end; procedure TMainForm.Action_Running_DocumentsExecute(Sender: TObject); begin ShowDockForm(RunningDocumentsForm); end; procedure TMainForm.Action_Document_OutlineExecute(Sender: TObject); begin ShowDockForm(DocumentOutlineForm); end; procedure TMainForm.Action_OutputExecute(Sender: TObject); begin ShowDockForm(OutputForm); end; procedure TMainForm.Action_Script_OutlineExecute(Sender: TObject); begin ShowDockForm(ScriptOutlineForm); end; procedure TMainForm.Action_Find_and_ReplaceExecute(Sender: TObject); begin ShowDockForm(FindAndReplaceForm); end; procedure TMainForm.Action_Define_Window_LayoutExecute(Sender: TObject); begin with TDefineWindowLayoutForm.Create(nil) do begin ShowModal; Load_Save_WindowUI_ComboBox.Items.Clear; Load_Save_WindowUI_ComboBox.Items.Assign(Views_ListBox.Items); Load_Save_WindowUI_ComboBox.ItemIndex := SelectItemIndex; Release; end; end; procedure TMainForm.LoadDockInfo; begin CreateDockableForm; GetToolbarWidthArr; LoadDefaultLayout; end; procedure TMainForm.LoadDefaultLayout; var IniFile: TIniFile; Str: string; Sections: TStringList; Index: Integer; begin IniFile := TIniFile.Create(ExtractFilePath(Application.EXEName) + DefineWindowLayoutFileName); Sections := TStringList.Create; try IniFile.ReadSection(SectionString, Sections); Index := Sections.IndexOf(DefaultLayout); if Index <> - 1 then Sections.Delete(Sections.IndexOf(DefaultLayout)); Sections.Sort; Load_Save_WindowUI_ComboBox.Items.Assign(Sections); Load_Save_WindowUI_ComboBox.ItemIndex := 0; Str := IniFile.ReadString(SectionString, DefaultLayout, 'ERROR'); if Str <> 'ERROR' then begin Load_Save_WindowUI_ComboBox.ItemIndex := Load_Save_WindowUI_ComboBox.Items.IndexOf(Str); JvAppStorage.Filename := ExtractFilePath(Application.ExeName) + Str + '.ini'; LoadDockTreeFromAppStorage(JvAppStorage); end; finally Sections.Free; IniFile.Free; end; end; procedure TMainForm.SaveDefaultLayout; //var IniFile: TIniFile; begin JvAppStorage.Filename := ExtractFilePath(Application.EXEName) + Load_Save_WindowUI_ComboBox.Text + '.ini'; SaveDockTreeToAppStorage(JvAppStorage, Load_Save_WindowUI_ComboBox.Text); { JvAppStorage.WriteString(JvAppStorage.ConcatPaths([SectionString, DefaultLayout]), Load_Save_WindowUI_ComboBox.Text); IniFile := TIniFile.Create(ExtractFilePath(Application.EXEName) + DefineWindowLayoutFileName); try IniFile.WriteString(SectionString, DefaultLayout, Load_Save_WindowUI_ComboBox.Text); finally IniFile.Free; end;} end; procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction); begin SaveDefaultLayout; end; procedure TMainForm.FormDestroy(Sender: TObject); begin (* ProjectExplorerForm.Release; PropertiesForm.Release; ToolboxForm.Release; {----------------------------------------------------------------------------} ImmediateForm.Release; AutosForm.Release; LocalsForm.Release; WatchForm.Release; ThreadsForm.Release; CallStackForm.Release; RunningDocumentsForm.Release; {----------------------------------------------------------------------------} TaskListForm.Release; DocumentOutlineForm.Release; OutputForm.Release; ScriptOutlineForm.Release; {----------------------------------------------------------------------------} FindAndReplaceForm.Release;*) end; procedure TMainForm.FormCreate(Sender: TObject); begin JvAppStorage := TJvAppIniFileStorage.Create(self); LoadDockInfo; end; procedure TMainForm.Action_AboutExecute(Sender: TObject); begin with TSplashForm.Create(nil) do try ShowModal; finally Free; end; end; end.