View Issue Details

IDProjectCategoryView StatusLast Update
0001763Double CommanderPluginspublic2020-11-30 07:43
Reporteradrian_devries Assigned ToAlexx2000  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
ProjectionnoneETAnone 
PlatformWindowsOSWindowsOS Version7
Product Version1.0.0 (trunk)Product Build7449 
Summary0001763: SevenZip plugin can't be compiled with Lazarus 1.6.4/FreePascal 3.0.2
DescriptionUnder Lazarus 1.6.4/FreePascal 3.0.2 compilation of "doublecmd-trunk-r7449\plugins\wcx\sevenzip\src\jcl\DCJclAlternative.pas" fails with the following error messages:
doublecmd-trunk-r7449a\plugins\wcx\sevenzip\src\.\jcl\DCJclAlternative.pas(442,89) Error: (3026) Wrong number of parameters specified for call to "<Procedure Variable>"
doublecmd-trunk-r7449a\plugins\wcx\sevenzip\src\.\jcl\DCJclAlternative.pas(447,30) Error: (5038) identifier idents no member "CompareTextWideStringProc"
It is necessary to apply the attached patch.
Steps To Reproduce1. Install Lazarus 1.6.4
2. Download the current source of DC from repository.
3. Run build.bat after adapting the variable "lazpath".
Result: Compilation will fail.
4. Apply the patch.
5. Re-run build.bat.
Result: Compilation will succeed.
Additional InformationThe same is true for DC 0.7.8 r7449.
TagsNo tags attached.
Attached Files
doublecmd-trunk-r7449.diff (1,153 bytes)   
diff -Naur doublecmd-trunk-r7449a/plugins/wcx/sevenzip/src/jcl/DCJclAlternative.pas doublecmd-trunk-r7449b/plugins/wcx/sevenzip/src/jcl/DCJclAlternative.pas
--- doublecmd-trunk-r7449a/plugins/wcx/sevenzip/src/jcl/DCJclAlternative.pas	2015-08-30 14:25:15.186378000 +0200
+++ doublecmd-trunk-r7449b/plugins/wcx/sevenzip/src/jcl/DCJclAlternative.pas	2017-03-12 12:29:35.533259200 +0100
@@ -439,12 +439,20 @@
 
 function TJclWideStringList.CompareWideStringProc(Key1, Key2: Pointer): Integer;
 begin
+{$if FPC_FULLVERSION<30002}
   Result:= WideStringManager.CompareWideStringProc(WideString(Key1^), WideString(Key2^));
+{$else}
+  Result:= WideStringManager.CompareWideStringProc(WideString(Key1^), WideString(Key2^), []);
+{$endif}
 end;
 
 function TJclWideStringList.CompareTextWideStringProc(Key1, Key2: Pointer): Integer;
 begin
+{$if FPC_FULLVERSION<30002}
   Result:= WideStringManager.CompareTextWideStringProc(WideString(Key1^), WideString(Key2^));
+{$else}
+  Result:= WideStringManager.CompareWideStringProc(WideString(Key1^), WideString(Key2^), [coIgnoreCase]);
+{$endif}
 end;
 
 constructor TJclWideStringList.Create;
doublecmd-trunk-r7449.diff (1,153 bytes)   
Fixed in Revision7471
Operating systemWindows
WidgetsetWin32
Architecture64-bit

Activities

Issue History

Date Modified Username Field Change
2017-03-12 15:34 adrian_devries New Issue
2017-03-12 15:34 adrian_devries File Added: doublecmd-trunk-r7449.diff
2017-03-25 20:16 Alexx2000 Fixed in Revision => 7471
2017-03-25 20:16 Alexx2000 Status new => resolved
2017-03-25 20:16 Alexx2000 Resolution open => fixed
2017-03-25 20:16 Alexx2000 Assigned To => Alexx2000
2020-11-30 07:43 Alexx2000 Status resolved => closed