From 99574addba20fce48ccf34ae9593a4a9ac9807a1 Mon Sep 17 00:00:00 2001 From: Lutz Date: Fri, 5 Mar 2021 22:57:50 +0100 Subject: [PATCH] Bug fix RedirectClassType = 2 mixed up PATH RedirectClassType = 2, UseClassPerFile = 2 failed --- Documentacion/github/FoxBin2Prg_Changes.md | 3 ++- Documentacion/github/FoxBin2Prg_Internals.md | 8 +++++--- README.md | 1 + foxbin2prg.prg | 7 +++++-- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/Documentacion/github/FoxBin2Prg_Changes.md b/Documentacion/github/FoxBin2Prg_Changes.md index 880ac1b..b6a4b5d 100644 --- a/Documentacion/github/FoxBin2Prg_Changes.md +++ b/Documentacion/github/FoxBin2Prg_Changes.md @@ -32,7 +32,8 @@ _**Note:** you can click on the version number for downloading this version from | Rel.Date | Developer | Version | Details | | - | - | - | - | -| 2021/xx/xx | LScheffler | [v1.19.5x]() | **Doc**: Improved, Better description of ClassPerFileCheck . | +| 2021/03/05 | LScheffler | [v1.19.57]() | **Bug Fix**: RedirectClassType = 2, UseClassPerFile = 2 failed | +| 2021/xx/xx | LScheffler | [v1.19.5x]() | **Doc**: Improved, Better description of ClassPerFileCheck. | | 2021/03/05 | LScheffler | [v1.19.57]() | **Bug Fix**: RedirectClassType = 2 mixed up PATH | | | | | **Doc**: Improved | | 2021/03/04 | LScheffler | [v1.19.56]() | **Feature**: New value 2 for option RedirectClassType = 2, just process the single class for input in form file[.baseclass].class.vc2 | diff --git a/Documentacion/github/FoxBin2Prg_Internals.md b/Documentacion/github/FoxBin2Prg_Internals.md index 6817e64..0d378a1 100644 --- a/Documentacion/github/FoxBin2Prg_Internals.md +++ b/Documentacion/github/FoxBin2Prg_Internals.md @@ -114,13 +114,13 @@ These are the FoxBin2Prg.cfg configuration file settings and their meaning: | DBF_BinChar_Base64 | 0, _1_ | 0=For character type fields, if NoCPTrans 0=do not transform, 1=use Base64 transform (default)
**Note:** This can be [changed per table](#configuration-file-per-table). | | DBF_IncludeDeleted | _0_, 1 | 0=Do not include deleted records (default),
1=Include deleted records
**Note:** This can be [changed per table](#configuration-file-per-table). | | | | **Note:**
This is only true for tables. Generating DBC to _Text_ and back to _Binary_ will act as PACK DATABASE.
The data added by _DBF_IncludeDeleted: 1_ will be ignored by old versions generating _Binary_ files. | -| UseClassPerFile | _0_, 1 | 0=One library _Text_ file, 1=Multiple file.class.vc2 files, 2=Multiple file.baseclass.class.vc2 files
See [Create Class-Per-File](#create-class-per-file) | -| [RedirectClassPerFileToMain:](#redirectclassperfiletomain:) | _0_, 1 | 0=Don't redirect to file.vc2, 1=Redirect to file.vc2 when selecting file.class.vc2
RedirectClassType: 1 precedes this setting | +| UseClassPerFile | _0_, 1, 2 | 0=One library _Text_ file,
1=Multiple file.class.vc2 files,
2=Multiple file.baseclass.class.vc2 files
See [Create Class-Per-File](#create-class-per-file) | +| [RedirectClassPerFileToMain:](#redirectclassperfiletomain:) | _0_, 1 | 0=Don't redirect to file.vc2,
1=Redirect to file.vc2 when selecting file.class.vc2
RedirectClassType: 1 precedes this setting | | RedirectClassType | _0_, 1, 2 | For classes created with UseClassPerFile>0 in the form file[.baseclass].class.tx2 (vcx only) | | | | 0 creates / refresh class in file.VCX and add / replace all other classes of this library | | | | 1 creates / refresh class file[.baseclass].class.VCX and do not touch file.VCX | | | | 2 creates / refresh class in file.VCX and do not touch other classes of file.VCX | -| [ClassPerFileCheck](#classperfilecheck) | _0_, 1 | 0=Don't check file.class.vc2 inclusion, 1=Check file.class.vc2 inclusion
Only used if import file is in file[.baseclass].class.tx2 syntax.
Ignored for RedirectClassType: 2 | +| [ClassPerFileCheck](#classperfilecheck) | _0_, 1 | 0=Don't check file.class.vc2 inclusion,
1=Check file.class.vc2 inclusion
Only used if import file is in file[.baseclass].class.tx2 syntax.
Ignored for RedirectClassType: 2 | | ClearDBFLastUpdate | 0, _1_ | 0=Keep DBF LastUpdate, 1=Clear DBF LastUpdate. Useful for Diff, minimizes differences. | | Language | _(auto)_, EN, FR, ES, DE | Language of templates, shown messages and LOGs. EN=English, FR=French, ES=EspaƱol, DE=German, Not defined = AUTOMATIC (using VERSION(3)) || @@ -409,6 +409,8 @@ In example, if you have a classlib "mylib.vcx" with 3 classes inside ( "cl_1, cl - mylib.cl_1.vc2 - mylib.cl_2.vc2 - mylib.cl_3.vc2 +#### Important note +The settings of UseClassPerFile and related options are sensible. If changed the wrong way it easy to destroy classlibs. #### Recommended new setting Starting at v1.19.42 you can configure foxbin2prg to generate one class per file. diff --git a/README.md b/README.md index a3356d7..b27cd13 100644 --- a/README.md +++ b/README.md @@ -173,6 +173,7 @@ Fixes only are in the fork branch of this repo. | DBF_Conversion_Condition, problem with macro expansion | | Bug on special setting for import in form file[.baseclass].class.vc2 | | Bug on RedirectClassType = 2 mixed up PATH | +| Bug on RedirectClassType = 2, UseClassPerFile = 2 failed | ### Features diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 9cffcc7..7f45324 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -246,7 +246,10 @@ * generates classlib.class.vcx and tries to recompile classlib.vcx * fails silent if classlib.vcx exists (compiles wrong lib), with message if not. * 04/03/2021 LScheffler v1.19.56 Enhancement: New value for RedirectClassType = 2, just process the single class of classlib.class.vc2 -* 04/03/2021 LScheffler v1.19.57 Bug Fix: For RedirectClassType = 2, Path was set wrong +* 05/03/2021 LScheffler v1.19.57 Bug Fix: For RedirectClassType = 2, Path was set wrong +* xx/03/2021 LScheffler v1.19.5x Bug Fix: For RedirectClassType = 2, Path was set wrong +* xx/03/2021 LScheffler v1.19.5x Doc: Improved, Better description of ClassPerFileCheck. +* xx/03/2021 LScheffler v1.19.5x Bug Fix: RedirectClassType = 2, UseClassPerFile = 2 failed. * @@ -3275,7 +3278,7 @@ Define Class c_foxbin2prg As Session *remove class tc_InputFile = Lower( JustPath( m.tc_InputFile ) + '\' + Juststem( Juststem( m.tc_InputFile ) ) + '.' + Justext( m.tc_InputFile ) ) *remove baseclass - If .n_UseClassPerFile = 0 + If .n_UseClassPerFile = 2 *remove baseclass tc_InputFile = Lower( JustPath( m.tc_InputFile ) + '\' + Juststem( Juststem( m.tc_InputFile ) ) + '.' + Justext( m.tc_InputFile ) ) Endif