v1.19.49.8

- Bug Fix: When converting a VCX corrupted with duplicated objects to text, "The specified key already exists" error is thrown (Kirides)
This commit is contained in:
fdbozzo
2018-02-03 10:53:53 +01:00
parent 755e1083e3
commit a18454b143
6 changed files with 41 additions and 7 deletions

View File

@@ -2,8 +2,8 @@ Lparameters toUpdateInfo
Local lcNote
With toUpdateInfo
.VersionNumber = 'v1.19.49.7'
.VersionDate = Date(2018,01,11)
.VersionNumber = 'v1.19.49.8'
.VersionDate = Date(2018,02,03)
.SourceFileUrl = 'http://vfpxrepository.com/dl/thorupdate/Projects/FoxBin2Prg/FoxBin2Prg.Zip'
.Link = 'http://vfpx.codeplex.com/wikipage?title=FoxBin2PRG'
@@ -21,6 +21,9 @@ Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg
Change History -------------------------------------------------------------
2018-02-03 v1.19.49.8
- Bug Fix: When converting a VCX corrupted with duplicated objects to text, "The specified key already exists" error is thrown (Kirides)
2018-01-11 v1.19.49.7
- Bug Fix: When converting a DBF an error is thrown if there is a field called X or I (Francisco Prieto)

Binary file not shown.

View File

@@ -2,10 +2,10 @@ lparameters toUpdateObject
local ldDate, ;
lnJulian, ;
lcJulian
ldDate = date(2018,1,11)
ldDate = date(2018,2,3)
lnJulian = val(sys(11, ldDate)) - val(sys(11, {^2000-01-01}))
lcJulian = padl(transform(lnJulian), 4, '0')
toUpdateObject.AvailableVersion = 'FoxBin2Prg-1.19.49.7' + lcJulian + ;
toUpdateObject.AvailableVersion = 'FoxBin2Prg-1.19.49.8' + lcJulian + ;
'-update-' + dtoc(ldDate, 1)
return toUpdateObject

View File

@@ -1,5 +1,5 @@
appName = FoxBin2Prg
appID = FoxBin2Prg
majorVersion = 1.19.49.7
majorVersion = 1.19.49.8
excludeFiles = *.bak,*.bat,*.fxp,*.tbk,*.tmp,*.dat,*.log,*.cvp,README.md,.gitignore,*.zip*,*.7z*,*- copia.*,*.private.*,test_*.*,xx*.*,*.lnk,vfp_init.*,tmp*.*,*.err
excludeFolders = *.plastic*,*ThorUpdater*,*Documentacion*,*foxunit*,*foxunit_*,*pruebas varias*,*versiones*,*datos_test*

Binary file not shown.

View File

@@ -207,6 +207,7 @@
* 04/01/2018 FDBOZZO v1.19.49.6 Bug Fix vcx/scx: FoxBin2Prg debería ignorar los registros que el diseñador de FoxPro ignora (Doug Hennig)
* 04/01/2018 FDBOZZO v1.19.49.6 Bug Fix vcx/scx: Cuando se regenera la propiedad _MemberData se agregan CR/LF por cada miembro, pudiendo provocar un error de "valor muy largo" (Doug Hennnig)
* 11/01/2018 FDBOZZO v1.19.49.7 Bug Fix: Cuando se convierte la estructura de un DBF puede dar error si existe un campo llamado I o X (Francisco Prieto)
* 30/01/2018 FDBOZZO v1.19.49.8 Bug Fix: Cuando se convierte a texto una libreria corrupta con registros duplicados, se genera el error "The specified key already exists" (Kirides)
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
*
*---------------------------------------------------------------------------------------------------
@@ -327,6 +328,7 @@
* 04/01/2018 Doug Hennnig Reporte Bug vcx/scx v1.19.49: FoxBin2Prg debería ignorar los registros que el diseñador de FoxPro ignora (Arreglado en v1.19.49.6)
* 04/01/2018 Doug Hennnig Reporte Bug vcx/scx v1.19.49: Cuando se regenera la propiedad _MemberData se agregan CR/LF por cada miembro, pudiendo provocar un error de "valor muy largo" (Arreglado en v1.19.49.6)
* 11/01/2018 Francisco Prieto Reporte Bug v1.19.49: Cuando se convierte la estructura de un DBF puede dar error si existe un campo llamado I o X (Arreglado en v1.19.49.7)
* 30/01/2018 Kirides Reporte Bug v1.19.49: Cuando se convierte a texto una libreria corrupta con registros duplicados, se genera el error "The specified key already exists" (Arreglado en v1.19.49.9)
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
*
*---------------------------------------------------------------------------------------------------
@@ -13927,6 +13929,29 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
PROCEDURE ignoreCorruptedObjects(lcCursor)
* Issue#17 - Error, The specified key already exists
* Para evitar este error se deben ignorar los objetos corruptos (duplicados)
* Se identifican porque la clase principal el campo Reserved1 tiene vacio en vez de "Class"
LOCAL lcParentObjName, lcSetDeleted
SELECT (lcCursor)
lcSetDeleted = SET("Deleted")
SET DELETED OFF
SCAN FOR PLATFORM = "WINDOWS" AND EMPTY(Parent) AND EMPTY(Reserved1)
lcParentObjName = LOWER(OBJNAME)
DELETE
SKIP
DELETE REST WHILE GETWORDNUM(LOWER(PARENT) + '.', 1, '.') == lcParentObjName
SKIP -1
ENDSCAN
SET DELETED &lcSetDeleted.
RETURN
ENDPROC
PROCEDURE ignoreIncorrectDefinedObjects(lcCursor)
* Issue#15 - VFP Designer ignored objects should be ignored by FoxBin2Prg
LOCAL lcObjName, lcParent, lcParentObjName, loObjs as Collection
@@ -13948,7 +13973,10 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
* NOTA: Del parent solo se puede comprobar el objeto primario.
IF loObjs.GetKey(GETWORDNUM(lcParent + '.', 1, '.')) > 0
* Existe: se agrega al array el nuevo objeto
* NOTA: Podría estar duplicado, pero no se trata ese caso aquí
IF NOT EMPTY(lcParentObjName) AND loObjs.GetKey(lcParentObjName) = 0
loObjs.Add( '', lcParentObjName )
ENDIF
ELSE
* No existe: se ignora
DELETE
@@ -15353,7 +15381,10 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg
lnStepCount = 7
USE IN (SELECT("_TABLAORIG"))
* Issue#15: Ignorar objetos mal definidos
* Issue#17: Error, The Specified Key already exists (Kirides)
.ignoreCorruptedObjects('TABLABIN')
* Issue#15: Ignorar objetos mal definidos (Doug Hennig)
.ignoreIncorrectDefinedObjects('TABLABIN')
INDEX ON PADR(LOWER(PLATFORM + IIF(EMPTY(PARENT),'',ALLTRIM(PARENT)+'.')+OBJNAME),240) TAG PARENT_OBJ ADDITIVE