Skip to content

Commit 0272a67

Browse files
author
Markus Humm
committed
Fixed missing component error, numberbox limits and TopLabel display
Readded missing controls to make it run. Fixed maximum value of the number of times to execute number box and when clicking some menu item on the left the description label at the top is automatically updated already.
1 parent 2750cb2 commit 0272a67

File tree

6 files changed

+135
-26
lines changed

6 files changed

+135
-26
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ until you either have covered all lines of your code by unit tests or have only
2222
those lines missing which would be really hard to cover.
2323

2424
## Which Delphi versions are compatible?
25-
The current version 2.1 is compatible with Delphi 12.0 Athens, 11.x Alexandria
25+
The current version 2.1.1 is compatible with Delphi 12.0 Athens, 11.x Alexandria
2626
and most likely with 10.4.x Sydney.
2727

2828
## Where can I get further information? For example if I'd like to contribute?

Source/DelphiCodeCoverageWizard.dproj

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -76,36 +76,38 @@
7676
<DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
7777
<BT_BuildType>Debug</BT_BuildType>
7878
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
79-
<VerInfo_Keys>CompanyName=;FileDescription=Delphi Code Coverage Wizard Plus;FileVersion=2.1.0.7;InternalName=;LegalCopyright=© 2022-2023 Markus Humm and Team DCCWP;LegalTrademarks=;OriginalFilename=;ProgramID=$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=2.0.0.0;Comments=</VerInfo_Keys>
79+
<VerInfo_Keys>CompanyName=;FileDescription=Delphi Code Coverage Wizard Plus;FileVersion=2.1.1.8;InternalName=;LegalCopyright=© 2022-2023 Markus Humm and Team DCCWP;LegalTrademarks=;OriginalFilename=;ProgramID=$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=2.0.0.0;Comments=</VerInfo_Keys>
8080
<VerInfo_Locale>1033</VerInfo_Locale>
8181
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
8282
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
8383
<DCC_DcuOutput>..\Binaries\$(Platform)\$(Config)</DCC_DcuOutput>
8484
<DCC_ExeOutput>..\Binaries\$(Platform)\$(Config)</DCC_ExeOutput>
8585
<Icon_MainIcon>..\Icons\CodeCoverageWizard.ico</Icon_MainIcon>
86-
<VerInfo_Build>7</VerInfo_Build>
86+
<VerInfo_Build>8</VerInfo_Build>
8787
<PostBuildEvent><![CDATA[if exist "$(BDS)\Redist\win32\WebView2Loader.dll" (copy /Y "$(BDS)\Redist\win32\WebView2Loader.dll" "$(OUTPUTDIR)")
8888
$(PostBuildEvent)]]></PostBuildEvent>
8989
<VerInfo_MajorVer>2</VerInfo_MajorVer>
9090
<VerInfo_AutoIncVersion>true</VerInfo_AutoIncVersion>
9191
<VerInfo_MinorVer>1</VerInfo_MinorVer>
92+
<VerInfo_Release>1</VerInfo_Release>
9293
</PropertyGroup>
9394
<PropertyGroup Condition="'$(Base_Win64)'!=''">
9495
<DCC_UsePackage>FireDACIBDriver;RaizeComponentsVcl;vclwinx;fmx;vclie;DbxCommonDriver;bindengine;IndyIPCommon;VCLRESTComponents;FireDACCommonODBC;FireDACCommonDriver;appanalytics;IndyProtocols;vclx;IndyIPClient;dbxcds;vcledge;bindcompvclwinx;FmxTeeUI;bindcompfmx;inetdb;FireDACSqliteDriver;DbxClientDriver;Tee;soapmidas;vclactnband;TeeUI;fmxFireDAC;dbexpress;DBXMySQLDriver;VclSmp;inet;vcltouch;fmxase;dbrtl;fmxdae;TeeDB;FireDACMSAccDriver;CustomIPTransport;vcldsnap;DBXInterBaseDriver;IndySystem;vcldb;vclFireDAC;bindcomp;FireDACCommon;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;FireDACADSDriver;RaizeComponentsVclDb;RESTComponents;DBXSqliteDriver;vcl;IndyIPServer;dsnapxml;dsnapcon;adortl;VirtualTreesDR;vclimg;FireDACPgDriver;FireDAC;inetdbxpress;xmlrtl;tethering;bindcompvcl;dsnap;CloudService;fmxobj;bindcompvclsmp;FMXTee;soaprtl;soapserver;$(DCC_UsePackage)</DCC_UsePackage>
9596
<DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)</DCC_Namespace>
9697
<BT_BuildType>Debug</BT_BuildType>
9798
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
98-
<VerInfo_Keys>CompanyName=;FileDescription=Delphi Code Coverage Wizard Plus;FileVersion=2.1.0.7;InternalName=;LegalCopyright=© 2022-2023 Markus Humm and Team DCCWP;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=2.0.0.0;Comments=</VerInfo_Keys>
99+
<VerInfo_Keys>CompanyName=;FileDescription=Delphi Code Coverage Wizard Plus;FileVersion=2.1.1.8;InternalName=;LegalCopyright=© 2022-2023 Markus Humm and Team DCCWP;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=2.0.0.0;Comments=</VerInfo_Keys>
99100
<VerInfo_Locale>1033</VerInfo_Locale>
100101
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File>
101102
<Icon_MainIcon>..\Icons\CodeCoverageWizard.ico</Icon_MainIcon>
102103
<AppDPIAwarenessMode>none</AppDPIAwarenessMode>
103-
<VerInfo_Build>7</VerInfo_Build>
104+
<VerInfo_Build>8</VerInfo_Build>
104105
<PostBuildEvent><![CDATA[if exist "$(BDS)\Redist\win32\WebView2Loader.dll" (copy /Y "$(BDS)\Redist\win32\WebView2Loader.dll" "$(OUTPUTDIR)")
105106
$(PostBuildEvent)]]></PostBuildEvent>
106107
<VerInfo_AutoIncVersion>true</VerInfo_AutoIncVersion>
107108
<VerInfo_MajorVer>2</VerInfo_MajorVer>
108109
<VerInfo_MinorVer>1</VerInfo_MinorVer>
110+
<VerInfo_Release>1</VerInfo_Release>
109111
</PropertyGroup>
110112
<PropertyGroup Condition="'$(Cfg_1)'!=''">
111113
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define>
@@ -125,22 +127,24 @@ $(PostBuildEvent)]]></PostBuildEvent>
125127
<VerInfo_Locale>1033</VerInfo_Locale>
126128
<DCC_DcuOutput>..\Binaries\$(Platform)\$(Config)</DCC_DcuOutput>
127129
<Icon_MainIcon>..\Icons\CodeCoverageWizard.ico</Icon_MainIcon>
128-
<VerInfo_Build>7</VerInfo_Build>
130+
<VerInfo_Build>8</VerInfo_Build>
129131
<VerInfo_MajorVer>2</VerInfo_MajorVer>
130-
<VerInfo_Keys>CompanyName=;FileDescription=Delphi Code Coverage Wizard Plus;FileVersion=2.1.0.7;InternalName=;LegalCopyright=© 2022-2023 Markus Humm and Team DCCWP;LegalTrademarks=;OriginalFilename=;ProgramID=$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=2.0.0.0;Comments=</VerInfo_Keys>
132+
<VerInfo_Keys>CompanyName=;FileDescription=Delphi Code Coverage Wizard Plus;FileVersion=2.1.1.8;InternalName=;LegalCopyright=© 2022-2023 Markus Humm and Team DCCWP;LegalTrademarks=;OriginalFilename=;ProgramID=$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=2.0.0.0;Comments=</VerInfo_Keys>
131133
<VerInfo_AutoIncVersion>true</VerInfo_AutoIncVersion>
132134
<VerInfo_MinorVer>1</VerInfo_MinorVer>
135+
<VerInfo_Release>1</VerInfo_Release>
133136
</PropertyGroup>
134137
<PropertyGroup Condition="'$(Cfg_1_Win64)'!=''">
135138
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
136139
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
137140
<VerInfo_MajorVer>2</VerInfo_MajorVer>
138-
<VerInfo_Build>7</VerInfo_Build>
141+
<VerInfo_Build>8</VerInfo_Build>
139142
<VerInfo_AutoIncVersion>true</VerInfo_AutoIncVersion>
140143
<VerInfo_Locale>1033</VerInfo_Locale>
141144
<Icon_MainIcon>..\Icons\CodeCoverageWizard.ico</Icon_MainIcon>
142-
<VerInfo_Keys>CompanyName=;FileDescription=Delphi Code Coverage Wizard Plus;FileVersion=2.1.0.7;InternalName=;LegalCopyright=© 2022-2023 Markus Humm and Team DCCWP;LegalTrademarks=;OriginalFilename=;ProgramID=$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=2.0.0.0;Comments=</VerInfo_Keys>
145+
<VerInfo_Keys>CompanyName=;FileDescription=Delphi Code Coverage Wizard Plus;FileVersion=2.1.1.8;InternalName=;LegalCopyright=© 2022-2023 Markus Humm and Team DCCWP;LegalTrademarks=;OriginalFilename=;ProgramID=$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=2.0.0.0;Comments=</VerInfo_Keys>
143146
<VerInfo_MinorVer>1</VerInfo_MinorVer>
147+
<VerInfo_Release>1</VerInfo_Release>
144148
</PropertyGroup>
145149
<PropertyGroup Condition="'$(Cfg_2)'!=''">
146150
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols>
@@ -154,22 +158,24 @@ $(PostBuildEvent)]]></PostBuildEvent>
154158
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
155159
<VerInfo_Locale>1033</VerInfo_Locale>
156160
<VerInfo_MajorVer>2</VerInfo_MajorVer>
157-
<VerInfo_Build>7</VerInfo_Build>
161+
<VerInfo_Build>8</VerInfo_Build>
158162
<VerInfo_AutoIncVersion>true</VerInfo_AutoIncVersion>
159163
<Icon_MainIcon>..\Icons\CodeCoverageWizard.ico</Icon_MainIcon>
160-
<VerInfo_Keys>CompanyName=;FileDescription=Delphi Code Coverage Wizard Plus;FileVersion=2.1.0.7;InternalName=;LegalCopyright=© 2022-2023 Markus Humm and Team DCCWP;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=2.0.0.0;Comments=</VerInfo_Keys>
164+
<VerInfo_Keys>CompanyName=;FileDescription=Delphi Code Coverage Wizard Plus;FileVersion=2.1.1.8;InternalName=;LegalCopyright=© 2022-2023 Markus Humm and Team DCCWP;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=2.0.0.0;Comments=</VerInfo_Keys>
161165
<VerInfo_MinorVer>1</VerInfo_MinorVer>
166+
<VerInfo_Release>1</VerInfo_Release>
162167
</PropertyGroup>
163168
<PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
164169
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
165170
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
166171
<VerInfo_MajorVer>2</VerInfo_MajorVer>
167-
<VerInfo_Build>7</VerInfo_Build>
172+
<VerInfo_Build>8</VerInfo_Build>
168173
<VerInfo_AutoIncVersion>true</VerInfo_AutoIncVersion>
169174
<VerInfo_Locale>1033</VerInfo_Locale>
170175
<Icon_MainIcon>..\Icons\CodeCoverageWizard.ico</Icon_MainIcon>
171-
<VerInfo_Keys>CompanyName=;FileDescription=Delphi Code Coverage Wizard Plus;FileVersion=2.1.0.7;InternalName=;LegalCopyright=© 2022-2023 Markus Humm and Team DCCWP;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=2.0.0.0;Comments=</VerInfo_Keys>
176+
<VerInfo_Keys>CompanyName=;FileDescription=Delphi Code Coverage Wizard Plus;FileVersion=2.1.1.8;InternalName=;LegalCopyright=© 2022-2023 Markus Humm and Team DCCWP;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=2.0.0.0;Comments=</VerInfo_Keys>
172177
<VerInfo_MinorVer>1</VerInfo_MinorVer>
178+
<VerInfo_Release>1</VerInfo_Release>
173179
</PropertyGroup>
174180
<ItemGroup>
175181
<DelphiCompile Include="$(MainSource)">
0 Bytes
Binary file not shown.

Source/MainForm.dfm

Lines changed: 108 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ object FormMain: TFormMain
198198
Width = 424
199199
Height = 394
200200
Anchors = [akLeft, akTop, akRight, akBottom]
201-
ActiveCard = crd_SaveAndRun
201+
ActiveCard = crd_MiscSettings
202202
BevelEdges = [beBottom]
203203
BevelOuter = bvNone
204204
Caption = 'cp_Wizard'
@@ -696,7 +696,7 @@ object FormMain: TFormMain
696696
BorderStyle = bsNone
697697
TabOrder = 0
698698
DesignSize = (
699-
424
699+
407
700700
394)
701701
object LabelAdditioalParams: TLabel
702702
Left = 8
@@ -743,6 +743,13 @@ object FormMain: TFormMain
743743
Height = 15
744744
Caption = 'Index of additional parameters:'
745745
end
746+
object Label3: TLabel
747+
Left = 35
748+
Top = 423
749+
Width = 90
750+
Height = 15
751+
Caption = 'Number of times'
752+
end
746753
object CheckBoxRelativePaths: TCheckBox
747754
Left = 6
748755
Top = 112
@@ -814,6 +821,38 @@ object FormMain: TFormMain
814821
Text = '0'
815822
OnChange = EditAdditionalParamIndexChange
816823
end
824+
object CheckBoxLimitNumberOfExecutionTime: TCheckBox
825+
Left = 8
826+
Top = 392
827+
Width = 353
828+
Height = 17
829+
Caption = 'Limit number of times a line is executed (-lcl)'
830+
TabOrder = 7
831+
OnClick = CheckBoxLimitNumberOfExecutionTimeClick
832+
end
833+
object NumberBoxLineExecutionCount: TNumberBox
834+
Left = 152
835+
Top = 420
836+
Width = 121
837+
Height = 23
838+
Decimal = 0
839+
HideSelection = False
840+
MinValue = 1.000000000000000000
841+
MaxValue = 1000.000000000000000000
842+
TabOrder = 8
843+
Value = 1.000000000000000000
844+
SpinButtonOptions.Placement = nbspInline
845+
OnChangeValue = NumberBoxLineExecutionCountChangeValue
846+
end
847+
object CheckBoxIncludeFileExtension: TCheckBox
848+
Left = 6
849+
Top = 456
850+
Width = 353
851+
Height = 17
852+
Caption = 'Include file extension (-ife/-efe)'
853+
TabOrder = 9
854+
OnClick = CheckBoxIncludeFileExtensionClick
855+
end
817856
end
818857
end
819858
object crd_SaveAndRun: TCard
@@ -895,6 +934,73 @@ object FormMain: TFormMain
895934
OnClick = ButtonSaveAsClick
896935
end
897936
end
937+
object crd_ClassPrefixExcludes: TCard
938+
Left = 0
939+
Top = 0
940+
Width = 424
941+
Height = 394
942+
Caption = 'crd_ClassPrefixExcludes'
943+
CardIndex = 5
944+
TabOrder = 5
945+
OnEnter = crd_ClassPrefixExcludesEnter
946+
DesignSize = (
947+
424
948+
394)
949+
object b_SelectAllClassPrefixExcluded: TButton
950+
Left = 0
951+
Top = 352
952+
Width = 138
953+
Height = 42
954+
Hint = 'Select all class prefixes'
955+
Anchors = [akLeft, akBottom]
956+
Caption = 'Select &all'
957+
ImageIndex = 11
958+
ImageName = 'Actions-edit-select-all-icon'
959+
ImageMargins.Left = 5
960+
Images = VirtualImageListButtons32
961+
TabOrder = 0
962+
OnClick = b_SelectAllClassPrefixExcludedClick
963+
end
964+
object b_DeselectAllClassPrefixExcluded: TButton
965+
Left = 140
966+
Top = 352
967+
Width = 138
968+
Height = 42
969+
Hint = 'deselect class prefixes'
970+
Anchors = [akLeft, akBottom]
971+
Caption = '&Deselect all'
972+
ImageIndex = 10
973+
ImageName = 'Actions-edit-clear-list-icon'
974+
ImageMargins.Left = 5
975+
Images = VirtualImageListButtons32
976+
TabOrder = 1
977+
OnClick = b_DeselectAllClassPrefixExcludedClick
978+
end
979+
object b_DeleteSelectedClassExclusionMasks: TButton
980+
Left = 282
981+
Top = 352
982+
Width = 138
983+
Height = 42
984+
Hint = 'Refresh file list'
985+
Anchors = [akLeft, akBottom]
986+
Caption = 'D&elete'
987+
ImageIndex = 5
988+
ImageName = 'Actions-trash-empty-icon'
989+
ImageMargins.Left = 5
990+
Images = VirtualImageListButtons32
991+
TabOrder = 2
992+
OnClick = b_DeleteSelectedClassExclusionMasksClick
993+
end
994+
object MemoClassPrefixExcluded: TMemo
995+
Left = 6
996+
Top = 6
997+
Width = 415
998+
Height = 340
999+
Anchors = [akLeft, akTop, akRight, akBottom]
1000+
TabOrder = 3
1001+
OnChange = MemoClassPrefixExcludedChange
1002+
end
1003+
end
8981004
end
8991005
object p_WizardNavigation: TPanel
9001006
Left = 0

Source/MainForm.pas

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -689,20 +689,24 @@ procedure TFormMain.ButtonGroup1ButtonClicked(Sender: TObject; Index: Integer);
689689
0 : begin
690690
cp_Wizard.ActiveCard := crd_UnitTestExecutable;
691691
ButtonNext.Enabled := FProject.IsExeAndMapDefined;
692+
crd_UnitTestExecutableEnter(Sender);
692693
end;
693694
1 : begin
694695
cp_Wizard.ActiveCard := crd_Source;
695696
ButtonNext.Enabled := FProject.IsSourcePathAndFilesDefined;
697+
crd_SourceEnter(Sender);
696698
end;
697699
2 : begin
698700
cp_Wizard.ActiveCard := crd_Output;
699701
ButtonNext.Enabled := FProject.IsOutputSettingsDefined;
702+
crd_OutputEnter(Sender);
700703
end;
701704
3 : begin
702705
cp_Wizard.ActiveCard := crd_MiscSettings;
703706
crd_MiscSettings.Tag := cImgCompletedPage;
704707
ButtonNext.Enabled := true;
705708
PrepareScriptOutputPathDisplay;
709+
crd_MiscSettingsEnter(Sender);
706710
end;
707711
4 : DisplaySaveAndRunScreen;
708712
else
@@ -718,6 +722,7 @@ procedure TFormMain.DisplaySaveAndRunScreen;
718722
ButtonNext.Enabled := false;
719723
ButtonCancel.Enabled := false;
720724
ButtonSave.Enabled := not FProject.FileName.IsEmpty;
725+
crd_SaveAndRunEnter(self);
721726
end;
722727

723728
procedure TFormMain.ButtonHomeClick(Sender: TObject);
@@ -869,12 +874,6 @@ procedure TFormMain.LoadProjectFile(const FileName: string);
869874
CheckBoxLogToFile.Checked := FProject.LogToTextFile;
870875
CheckBoxLogPerAPI.Checked := FProject.LogToOutputDebugString;
871876
CheckBoxPassThroughExitCode.Checked := FProject.PassTroughExitCode;
872-
CheckBoxIncludeFileExtension.Checked:= FProject.IncludeFileExtension;
873-
874-
CheckBoxLimitNumberOfExecutionTime.Checked := FProject.UseNumberOfLineExecutes;
875-
NumberBoxLineExecutionCount.ValueInt := FProject.NumberOfLineExecutes;
876-
877-
MemoClassPrefixExcluded.Lines.Add(FProject.ExcludedClassPrefixes);
878877

879878
CheckBoxRelativePaths.Checked := FProject.RelativeToScriptPath;
880879
EditAdditionalParameter.Text := FProject.AdditionalParameter;
@@ -1502,9 +1501,6 @@ procedure TFormMain.ClearWizardFields;
15021501
CheckBoxLogPerAPI.Checked := false;
15031502
CheckBoxPassThroughExitCode.Checked := false;
15041503

1505-
CheckBoxLimitNumberOfExecutionTime.Checked := false;
1506-
NumberBoxLineExecutionCount.ValueInt := 1;
1507-
15081504
CheckBoxRelativePaths.Checked := false;
15091505
CheckListBoxSource.Items.Clear;
15101506
MemoScriptPreview.Lines.Clear;

Source/MainFormTexts.pas

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,9 @@ interface
5656
/// <summary>
5757
/// Description text for the misc. options and batch file previes
5858
/// </summary>
59-
rMiscOptions = 'Provides the option to store all paths in relative form ' +
60-
'and to preview the generated batch file.';
59+
rMiscOptions = 'Provides the option to store all paths in relative form, ' +
60+
'write log messages to file, how often a line may be executed ' +
61+
'and other settings';
6162

6263
/// <summary>
6364
/// Description text for the exclude classes by prefix

0 commit comments

Comments
 (0)