Skip to content

Commit 7596109

Browse files
committed
Merge branch 'Release/1.3a'
2 parents 2f919a4 + b8b35f1 commit 7596109

13 files changed

Lines changed: 431 additions & 25 deletions

ExpertMgr.cbproj

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@
134134
<AppDPIAwarenessMode>PerMonitor</AppDPIAwarenessMode>
135135
</PropertyGroup>
136136
<ItemGroup>
137+
<None Include="Contributing.md"/>
137138
<CppCompile Include="ExpertMgr.cpp">
138139
<BuildOrder>0</BuildOrder>
139140
</CppCompile>
@@ -182,6 +183,12 @@
182183
<DependentOn>Source\ExpertManagerTypes.h</DependentOn>
183184
<BuildOrder>8</BuildOrder>
184185
</CppCompile>
186+
<CppCompile Include="Source\ExpertMgrAboutBoxForm.cpp">
187+
<Form>frmExpertMgrAboutBox</Form>
188+
<FormType>dfm</FormType>
189+
<DependentOn>Source\ExpertMgrAboutBoxForm.h</DependentOn>
190+
<BuildOrder>15</BuildOrder>
191+
</CppCompile>
185192
<CppCompile Include="Source\ExpertMgrMainForm.cpp">
186193
<Form>frmExpertManager</Form>
187194
<FormType>dfm</FormType>
@@ -192,6 +199,7 @@
192199
<FormResources Include="Source\ExpertEditorForm.dfm"/>
193200
<FormResources Include="Source\ExpertManagerProgressForm.dfm"/>
194201
<FormResources Include="Source\ExpertMgrMainForm.dfm"/>
202+
<FormResources Include="Source\ExpertMgrAboutBoxForm.dfm"/>
195203
<BuildConfiguration Include="Release">
196204
<Key>Cfg_2</Key>
197205
<CfgParent>Base</CfgParent>
@@ -236,6 +244,12 @@
236244
<Overwrite>true</Overwrite>
237245
</Platform>
238246
</DeployFile>
247+
<DeployFile LocalName="Contributing.md" Configuration="Release" Class="ProjectFile">
248+
<Platform Name="Win32">
249+
<RemoteDir>.\</RemoteDir>
250+
<Overwrite>true</Overwrite>
251+
</Platform>
252+
</DeployFile>
239253
<DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin\cc32260.dll" Class="DependencyModule">
240254
<Platform Name="Win32">
241255
<Overwrite>true</Overwrite>
@@ -262,17 +276,35 @@
262276
<Overwrite>true</Overwrite>
263277
</Platform>
264278
</DeployFile>
279+
<DeployFile LocalName="License.md" Configuration="Release" Class="ProjectFile">
280+
<Platform Name="Win32">
281+
<RemoteDir>.\</RemoteDir>
282+
<Overwrite>true</Overwrite>
283+
</Platform>
284+
</DeployFile>
265285
<DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'!='true'" LocalName="$(BDS)\bin64\cc64240.dll" Class="DependencyModule">
266286
<Platform Name="Win64">
267287
<Overwrite>true</Overwrite>
268288
</Platform>
269289
</DeployFile>
290+
<DeployFile LocalName="Readme.md" Configuration="Release" Class="ProjectFile">
291+
<Platform Name="Win32">
292+
<RemoteDir>.\</RemoteDir>
293+
<Overwrite>true</Overwrite>
294+
</Platform>
295+
</DeployFile>
270296
<DeployFile LocalName="Win32\Debug\ExpertMgr.exe" Configuration="Debug" Class="ProjectOutput">
271297
<Platform Name="Win32">
272298
<RemoteName>ExpertMgr.exe</RemoteName>
273299
<Overwrite>true</Overwrite>
274300
</Platform>
275301
</DeployFile>
302+
<DeployFile LocalName="Win32\Release\ExpertMgr.exe" Configuration="Release" Class="ProjectOutput">
303+
<Platform Name="Win32">
304+
<RemoteName>ExpertMgr.exe</RemoteName>
305+
<Overwrite>true</Overwrite>
306+
</Platform>
307+
</DeployFile>
276308
<DeployFile Condition="'$(DynamicRTL)'=='true' And '$(Multithreaded)'=='true'" LocalName="$(BDS)\bin64\cc64240mt.dll" Class="DependencyModule">
277309
<Platform Name="Win64">
278310
<Overwrite>true</Overwrite>
@@ -335,9 +367,9 @@
335367
<Overwrite>true</Overwrite>
336368
</Platform>
337369
</DeployFile>
338-
<DeployFile LocalName="Win32\Debug\ExpertMgr.tds" Configuration="Debug" Class="DebugSymbols">
370+
<DeployFile LocalName="ExpertMgr.todo" Configuration="Release" Class="ProjectFile">
339371
<Platform Name="Win32">
340-
<RemoteName>ExpertMgr.tds</RemoteName>
372+
<RemoteDir>.\</RemoteDir>
341373
<Overwrite>true</Overwrite>
342374
</Platform>
343375
</DeployFile>

ExpertMgr.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
66
@Author David Hoyle
77
@Version 1.0
8-
@Date 12 Jul 2019
8+
@Date 13 Jul 2019
99
1010
@license
1111
@@ -39,11 +39,12 @@
3939
#pragma link "CodeSiteLogging"
4040
#endif
4141

42-
USEFORM("Source\ExpertManagerProgressForm.cpp", frmProgress);
42+
USEFORM("Source\ExpertManagerOptionsForm.cpp", frmExpertOptions);
4343
USEFORM("Source\ExpertEditorForm.cpp", frmExpertEditor);
44+
USEFORM("Source\ExpertManagerProgressForm.cpp", frmProgress);
4445
USEFORM("Source\ExpertMgrMainForm.cpp", frmExpertManager);
45-
USEFORM("Source\ExpertManagerOptionsForm.cpp", frmExpertOptions);
46-
46+
USEFORM("Source\ExpertMgrAboutBoxForm.cpp", frmExpertMgrAboutBox);
47+
//---------------------------------------------------------------------------
4748
int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
4849
{
4950
try
@@ -52,7 +53,7 @@ int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
5253
Application->MainFormOnTaskBar = true;
5354
Application->Title = "Expert and Package Manager for Multiple RAD Studio Installations";
5455
Application->CreateForm(__classid(TfrmExpertManager), &frmExpertManager);
55-
Application->CreateForm(__classid(TfrmExpertOptions), &frmExpertOptions);
56+
Application->CreateForm(__classid(TfrmExpertMgrAboutBox), &frmExpertMgrAboutBox);
5657
Application->Run();
5758
}
5859
catch (Exception &exception)

ExpertMgr.ithelper

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ IncludeInProject=1
99
CompileWithBRCC32=0
1010
MajorVer=1
1111
MinorVer=3
12-
ReleaseVer=0
13-
BuildVer=507
12+
ReleaseVer=1
13+
BuildVer=519
1414
ResourceName=ExpertMgrITHVerInfo
1515
SaveModifiedFilesBeforeZipping=0
1616

@@ -23,12 +23,12 @@ ExclusionFiles=
2323
[VersionInfo]
2424
CompanyName=Seasons Fall Music
2525
FileDescription=Expert and Package Manager for Multiple RAD Studio instances.
26-
FileVersion=1.3.0.507
26+
FileVersion=1.3.1.519
2727
InternalName=ExpertMgr
2828
LegalCopyright=Seasons Fall Music
2929
LegalTrademarks=Seasons Fall Music
3030
OriginalFilename=ExpertMgr
3131
ProductName=ExpertMgr
32-
ProductVersion=1.3
32+
ProductVersion=1.3a
3333
Comments=Expert and Package Manager for Multiple RAD Studio instances.
3434

ExpertMgrITHVerInfo.RC

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
LANGUAGE LANG_ENGLISH,SUBLANG_ENGLISH_US
22

33
1 VERSIONINFO LOADONCALL MOVEABLE DISCARDABLE IMPURE
4-
FILEVERSION 1, 3, 0, 506
5-
PRODUCTVERSION 1, 3, 0, 506
4+
FILEVERSION 1, 3, 1, 518
5+
PRODUCTVERSION 1, 3, 1, 518
66
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
77
FILEOS VOS__WINDOWS32
88
FILETYPE VFT_APP
@@ -13,13 +13,13 @@ FILETYPE VFT_APP
1313
{
1414
VALUE "CompanyName", "Seasons Fall Music\000"
1515
VALUE "FileDescription", "Expert and Package Manager for Multiple RAD Studio instances.\000"
16-
VALUE "FileVersion", "1.3.0.506\000"
16+
VALUE "FileVersion", "1.3.1.518\000"
1717
VALUE "InternalName", "ExpertMgr\000"
1818
VALUE "LegalCopyright", "Seasons Fall Music\000"
1919
VALUE "LegalTrademarks", "Seasons Fall Music\000"
2020
VALUE "OriginalFilename", "ExpertMgr\000"
2121
VALUE "ProductName", "ExpertMgr\000"
22-
VALUE "ProductVersion", "1.3\000"
22+
VALUE "ProductVersion", "1.3a\000"
2323
VALUE "Comments", "Expert and Package Manager for Multiple RAD Studio instances.\000"
2424
}
2525
}

License.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
Author: David Hoyle (davidghoyle@gmail.com / https://github.com/DGH2112)
44

5-
Version: 1.3
5+
Version: 1.3a
66

7-
Date: 12 Jul 2019
7+
Date: 13 Jul 2019
88

99
Web Site: http://www.davidghoyle.co.uk/WordPress/?page_id=1361
1010

Readme.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
Author: David Hoyle
44

5-
Version: 1.3
5+
Version: 1.3a
66

7-
Date: 12 Jul 2019
7+
Date: 13 Jul 2019
88

99
Web Page: http://www.davidghoyle.co.uk/WordPress/?page_id=1361
1010

@@ -28,6 +28,10 @@ You can download a binary of this project if you don't want to compile it yourse
2828

2929
## Changes
3030

31+
Version 1.3a
32+
33+
* Added an About Box.
34+
3135
Version 1.3
3236

3337
* Fixed an issue with the context menus only working with the DLL Expert list;

Source/ExpertManagerOptionsForm.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,6 @@
3636
#pragma package(smart_init)
3737
#pragma resource "*.dfm"
3838

39-
TfrmExpertOptions *frmExpertOptions;
40-
4139
/**
4240
4341
This is a constructor for the TfrmExpertOptions form.

Source/ExpertMgrAboutBoxForm.cpp

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
/**
2+
3+
This module defines a class which represents the main form for the application which displays a
4+
treeview of the RAD Studio installations and the Experts, Known Packages and Know IDE Packages
5+
within each installation.
6+
7+
@Author David Hoyle
8+
@Version 1.0
9+
@Date 13 Jul 2019
10+
11+
@license
12+
13+
Expert Manager - a C++ Builder application for managing RAD Studio Experts (DLL and Packages)
14+
in multiple version of RAD Studio.
15+
16+
Copyright (C) 2019 David Hoyle (https://github.com/DGH2112/Expert-Manager)
17+
18+
This program is free software: you can redistribute it and/or modify
19+
it under the terms of the GNU General Public License as published by
20+
the Free Software Foundation, either version 3 of the License, or
21+
(at your option) any later version.
22+
23+
This program is distributed in the hope that it will be useful,
24+
but WITHOUT ANY WARRANTY; without even the implied warranty of
25+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26+
GNU General Public License for more details.
27+
28+
You should have received a copy of the GNU General Public License
29+
along with this program. If not, see <https://www.gnu.org/licenses/>.
30+
31+
@todo Consider replacing the list veiws and treeview with TVirtualStringTree instances.
32+
@todo Or instead of the above maintain the lists in the background and sync them with the listview
33+
so the listviews do not need rendering for each change.
34+
35+
**/
36+
#include <vcl.h>
37+
#include <memory>
38+
#pragma hdrstop
39+
40+
#include "ExpertMgrAboutBoxForm.h"
41+
42+
#pragma package(smart_init)
43+
#pragma resource "*.dfm"
44+
TfrmExpertMgrAboutBox *frmExpertMgrAboutBox;
45+
46+
/**
47+
48+
This is the constructor for the TfrmExpertMgrAboutBox class.
49+
50+
@precon None.
51+
@postcon None.
52+
53+
**/
54+
__fastcall TfrmExpertMgrAboutBox::TfrmExpertMgrAboutBox(TComponent* Owner) : TForm(Owner) {}
55+
56+
/**
57+
58+
This method invokes the About Box.
59+
60+
@precon None.
61+
@postcon The About Box is displayed on the form.
62+
63+
**/
64+
void TfrmExpertMgrAboutBox::Execute() {
65+
std::unique_ptr<TfrmExpertMgrAboutBox> F( new TfrmExpertMgrAboutBox( Application->MainForm ));
66+
F->ShowModal();
67+
}
68+
69+
/**
70+
71+
This method is an on create event hander for the form.
72+
73+
@precon None.
74+
@postcon Updates some of the controls on the form before it is displayed.
75+
76+
@param Sender as a TObject
77+
78+
**/
79+
void __fastcall TfrmExpertMgrAboutBox::FormCreate(TObject *Sender) {
80+
TDateTime dtDateTime = 0;
81+
FileAge(ParamStr(0), dtDateTime);
82+
lblBuildDate->Caption = L"Build Date: " + FormatDateTime("ddd dd mmm yyyy @ hh:nn", dtDateTime);
83+
DWORD iVerHandle = NULL;
84+
String strFileName = ParamStr(0);
85+
DWORD iVerInfoSize = GetFileVersionInfoSize(ParamStr(0).c_str(), &iVerHandle);
86+
if (iVerInfoSize) {
87+
LPSTR VerInfo = new char [iVerInfoSize];
88+
try {
89+
if (GetFileVersionInfo(ParamStr(0).c_str(), iVerHandle, iVerInfoSize, VerInfo)) {
90+
unsigned int iVerValueSize = 0;
91+
LPBYTE lpBuffer = NULL;
92+
if (VerQueryValue(VerInfo, TEXT("\\"), (VOID FAR* FAR*)&lpBuffer, &iVerValueSize)) {
93+
if (iVerValueSize) {
94+
VS_FIXEDFILEINFO *VerValue = (VS_FIXEDFILEINFO *)lpBuffer;
95+
int iMajor = VerValue->dwFileVersionMS >> 16;
96+
int iMinor = VerValue->dwFileVersionMS & 0xFFFF;
97+
int iBugFix = VerValue->dwFileVersionLS >> 16;
98+
int iBuild = VerValue->dwFileVersionLS & 0xFFFF;
99+
String strBugFix = " abcedfghijklmnopqrstuvwxyz";
100+
#ifdef DEBUG
101+
String strBuildMsg = "Expert Manager %d.%d%s (DEBUG Build %d.%d.%d.%d)";
102+
#else
103+
String strBuildMsg = "Expert Manager %d.%d%s (Build %d.%d.%d.%d)";
104+
#endif
105+
lblBuild->Caption = Format(strBuildMsg,
106+
ARRAYOFCONST((iMajor, iMinor, strBugFix[iBugFix + 1], iMajor, iMinor, iBugFix, iBuild)));
107+
}
108+
}
109+
}
110+
} __finally {
111+
delete[] VerInfo;
112+
}
113+
}
114+
}
115+

0 commit comments

Comments
 (0)