Project JEDI - Issue Tracker - JEDI VCL
Viewing Issue Advanced Details
6622 00 JVCL Components minor have not tried 2018-03-11 13:22 2018-07-18 16:01
dummzeuch  
obones  
normal  
resolved Daily / GIT  
won't fix  
none    
none  
0006622: wrong use of {$ifdef DELPHI2009OROLDER} in JvGnuGettext
In TGnuGettextInstance.TranslateStrings there are various places where the {$ifdef DELPHI2009OROLDER} is used. TStringList.OwnsObjects was introduced in later versions, so it should actually be $ifndef:

line 2122:
  {$ifdef DELPHI2009OROLDER}
  originalOwnsObjects: Boolean;
  {$endif}

Line 2132:
    {$ifdef DELPHI2009OROLDER}
    originalOwnsObjects := False; // avoid warning
    {$endif}

Line 2157:
        {$ifdef DELPHI2009OROLDER}
        if Assigned(slAsTStringList) then begin
          originalOwnsObjects := slAsTStringList.OwnsObjects;
          slAsTStringList.OwnsObjects := False;
        end;
        {$endif}

Line 2183:
          {$ifdef DELPHI2009OROLDER}
          if Assigned(slAsTStringList) then
            slAsTStringList.OwnsObjects := originalOwnsObjects;
          {$endif}
Issue History
2018-03-11 13:22 dummzeuch New Issue
2018-03-12 03:38 pyscripter Note Added: 0021457
2018-03-12 04:49 pyscripter Note Added: 0021458
2018-03-15 21:51 AHUser Note Added: 0021459
2018-03-15 21:52 AHUser Note Edited: 0021459
2018-07-18 16:01 obones Status new => resolved
2018-07-18 16:01 obones Resolution open => won't fix
2018-07-18 16:01 obones Assigned To => obones

Notes
(0021457)
pyscripter   
2018-03-12 03:38   
Actually the problem is the misnaming of the conditionals.
DELPHI2009OROLDER means newer!!

See
http://issuetracker.delphi-jedi.org/view.php?id=6607 [^]
(0021458)
pyscripter   
2018-03-12 04:49   
In other words it works correctly but it so confusing.
(0021459)
AHUser   
2018-03-15 21:51   
(edited on: 2018-03-15 21:52)
The JvGnugettext unit is a copy of the dxgettext project ( http://dxgettext.po.dk [^] ). The unit was once adjusted to the JEDI code style but that made it impossible to update the unit. The current version of the unit is the code of the original project from 2012 with some minor bugfixes.