From 3f8bbf75f3b034f6a707a54f07a2ff039589cd8b Mon Sep 17 00:00:00 2001 From: fdbozzo Date: Thu, 8 Jan 2015 00:58:48 +0100 Subject: [PATCH] =?UTF-8?q?Changeset:=20614=20-=20Mejora=20vc2/sc2:=20Dete?= =?UTF-8?q?cci=C3=B3n=20de=20nombres=20de=20objeto=20duplicados=20para=20n?= =?UTF-8?q?otificar=20casos=20de=20corrupci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- foxbin2prg.prg | 170 ++++++++++++++++++++++++++----------------------- 1 file changed, 90 insertions(+), 80 deletions(-) diff --git a/foxbin2prg.prg b/foxbin2prg.prg index b48c2b6..1322837 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -4203,7 +4203,7 @@ DEFINE CLASS c_conversor_base AS SESSION ENDPROC - ************************************************************************************************ + PROCEDURE get_ValueFromNullTerminatedValue LPARAMETERS tcNullTerminatedValue LOCAL lcValue, lnNullPos @@ -6115,6 +6115,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base ENDIF IF ISNULL(toObjeto) + Z = 0 toObjeto = CREATEOBJECT('CL_OBJETO') *-- Luego se reasigna el ZOrder, pero si no lo hace, se pone último como si se acabara de agregar. *-- Puede pasar si se agrega manualmente al TX2 y se olvida agregar la metadata OBJECTDATA. @@ -6134,19 +6135,15 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base toObjeto._Class = ALLTRIM( STREXTRACT(tcLine + ' WITH', ' AS ', ' WITH', 1, 1) ) *-- Chequeo de nombre de objeto repetido para el mismo contenedor - IF ATC('cmdDeshacer',toObjeto._Nombre) > 0 THEN - * SET STEP ON - ENDIF - IF NOT EMPTY(toClase._aPathObjNames) AND ASCAN( toClase._aPathObjNames, toObjeto._Nombre, 1, 0, 0, 2+4 ) THEN - .writeErrorLog( 'ERROR: Objeto repetido > ' + toObjeto._Class + '.' + toObjeto._Nombre + ' [Line:' + TRANSFORM(I) + ']' ) + IF toClase._aPathObjName_Count > 0 AND ASCAN( toClase._aPathObjNames, toObjeto._Nombre, 1, 0, 0, 2+4 ) > 0 THEN + .writeErrorLog( 'ERROR: Objeto repetido > ' + toClase._Class + '.' + toObjeto._Nombre + ' [Line:' + TRANSFORM(I) + ']' ) ENDIF - IF NOT toClase.l_ObjectMetadataInHeader + IF NOT toClase.l_ObjectMetadataInHeader OR Z=0 toClase.add_Object( toObjeto ) ENDIF - DIMENSION toClase._aPathObjNames(toClase._AddObject_Count) - toClase._aPathObjNames(toClase._AddObject_Count) = toObjeto._Nombre + toClase.add_PathObjName(toObjeto._Nombre) *-- Propiedades del ADD OBJECT FOR I = I + 1 TO tnCodeLines @@ -13561,7 +13558,7 @@ DEFINE CLASS CL_MODULO AS CL_CUS_BASE _Comment = '' - ************************************************************************************************ + PROCEDURE add_OLE LPARAMETERS toOle @@ -13577,7 +13574,7 @@ DEFINE CLASS CL_MODULO AS CL_CUS_BASE ENDPROC - ************************************************************************************************ + PROCEDURE add_Class LPARAMETERS toClase @@ -13593,7 +13590,7 @@ DEFINE CLASS CL_MODULO AS CL_CUS_BASE ENDPROC - ************************************************************************************************ + PROCEDURE existeObjetoOLE *-- Ubico el objeto ole por su nombre (parent+objname), que no se repite. LPARAMETERS tcNombre, X @@ -13644,6 +13641,7 @@ DEFINE CLASS CL_CLASE AS CL_CUS_BASE #ENDIF _MEMBERDATA = [] ; + + [] ; + [] ; + [] ; + [] ; @@ -13651,6 +13649,7 @@ DEFINE CLASS CL_CLASE AS CL_CUS_BASE + [] ; + [] ; + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -13704,55 +13703,68 @@ DEFINE CLASS CL_CLASE AS CL_CUS_BASE DIMENSION _Props[1,2], _AddObjects[1], _Procedures[1], _aProcNames[1], _aPathObjNames[1] l_ObjectMetadataInHeader = .F. - c_TextErr = '' - _Nombre = '' - _ObjName = '' - _Parent = '' - _Checked = .F. && Solo para Clases Externas: Permite saber si la clase fue checkeada contra la Clase Externa. - _Definicion = '' - _Class = '' - _ClassLoc = '' - _OlePublic = '' - _Ole = '' - _Ole2 = '' - _UniqueID = '' - _Comentario = '' - _ClassIcon = '' - _ProjectClassIcon = '' - _Inicio = 0 - _Fin = 0 - _Ini_Cab = 0 - _Fin_Cab = 0 - _Ini_Cuerpo = 0 - _Fin_Cuerpo = 0 - _Prop_Count = 0 - _HiddenProps = '' - _ProtectedProps = '' - _HiddenMethods = '' - _ProtectedMethods = '' - _MetaData = '' - _BaseClass = '' - _TimeStamp = 0 - _Scale = '' - _Defined_PAM = '' - _includeFile = '' - _AddObject_Count = 0 - _Procedure_Count = 0 - _PROPERTIES = '' - _PROTECTED = '' - _METHODS = '' - _RESERVED1 = '' - _RESERVED2 = '' - _RESERVED3 = '' - _RESERVED4 = '' - _RESERVED5 = '' - _RESERVED6 = '' - _RESERVED7 = '' - _RESERVED8 = '' - _User = '' + c_TextErr = '' + _Nombre = '' + _ObjName = '' + _Parent = '' + _Checked = .F. && Solo para Clases Externas: Permite saber si la clase fue checkeada contra la Clase Externa. + _Definicion = '' + _Class = '' + _ClassLoc = '' + _OlePublic = '' + _Ole = '' + _Ole2 = '' + _UniqueID = '' + _Comentario = '' + _ClassIcon = '' + _ProjectClassIcon = '' + _Inicio = 0 + _Fin = 0 + _Ini_Cab = 0 + _Fin_Cab = 0 + _Ini_Cuerpo = 0 + _Fin_Cuerpo = 0 + _Prop_Count = 0 + _HiddenProps = '' + _ProtectedProps = '' + _HiddenMethods = '' + _ProtectedMethods = '' + _MetaData = '' + _BaseClass = '' + _TimeStamp = 0 + _Scale = '' + _Defined_PAM = '' + _includeFile = '' + _AddObject_Count = 0 + _aPathObjName_Count = 0 + _Procedure_Count = 0 + _PROPERTIES = '' + _PROTECTED = '' + _METHODS = '' + _RESERVED1 = '' + _RESERVED2 = '' + _RESERVED3 = '' + _RESERVED4 = '' + _RESERVED5 = '' + _RESERVED6 = '' + _RESERVED7 = '' + _RESERVED8 = '' + _User = '' + + + PROCEDURE Add_PathObjName + LPARAMETERS tcPathObjName + + WITH THIS AS CL_CLASE OF 'FOXBIN2PRG.PRG' + ._aPathObjName_Count = ._aPathObjName_Count + 1 + DIMENSION ._aPathObjNames(._aPathObjName_Count) + ._aPathObjNames(._aPathObjName_Count) = tcPathObjName + ENDWITH + + RETURN + ENDPROC - ************************************************************************************************ PROCEDURE add_Procedure LPARAMETERS toProcedure @@ -13776,7 +13788,6 @@ DEFINE CLASS CL_CLASE AS CL_CUS_BASE ENDPROC - ************************************************************************************************ PROCEDURE add_Property LPARAMETERS tcProperty AS STRING, tcValue AS STRING, tcComment AS STRING @@ -13790,7 +13801,6 @@ DEFINE CLASS CL_CLASE AS CL_CUS_BASE ENDPROC - ************************************************************************************************ PROCEDURE add_Object LPARAMETERS toObjeto @@ -13833,7 +13843,7 @@ DEFINE CLASS CL_PROCEDURE AS CL_CUS_BASE _Inicio = 0 - ************************************************************************************************ + PROCEDURE add_Line LPARAMETERS tcLine AS STRING @@ -13897,7 +13907,7 @@ DEFINE CLASS CL_OBJETO AS CL_CUS_BASE _ZOrder = 0 - ************************************************************************************************ + PROCEDURE add_Procedure LPARAMETERS toProcedure @@ -13925,7 +13935,7 @@ DEFINE CLASS CL_OBJETO AS CL_CUS_BASE ENDPROC - ************************************************************************************************ + PROCEDURE add_Property LPARAMETERS tcProperty AS STRING, tcValue AS STRING @@ -14055,21 +14065,21 @@ DEFINE CLASS CL_PROJECT AS CL_COL_BASE _AutoIncrement = '' - ************************************************************************************************ + PROCEDURE INIT DODEFAULT() THIS._ServerHead = CREATEOBJECT('CL_PROJ_SRV_HEAD') ENDPROC - ************************************************************************************************ + PROCEDURE setParsedProjInfoLine LPARAMETERS tcProjInfoLine THIS.setParsedInfoLine( THIS, tcProjInfoLine ) ENDPROC - ************************************************************************************************ + PROCEDURE setParsedInfoLine LPARAMETERS toObject, tcInfoLine LOCAL lcAsignacion, lcCurDir @@ -14083,7 +14093,7 @@ DEFINE CLASS CL_PROJECT AS CL_COL_BASE ENDPROC - ************************************************************************************************ + PROCEDURE parseNullTerminatedValue LPARAMETERS tcDevInfo, tnPos, tnLen LOCAL lcValue, lnNullPos @@ -14098,7 +14108,7 @@ DEFINE CLASS CL_PROJECT AS CL_COL_BASE ENDPROC - ************************************************************************************************ + PROCEDURE parseDeviceInfo LPARAMETERS tcDevInfo @@ -14137,7 +14147,7 @@ DEFINE CLASS CL_PROJECT AS CL_COL_BASE ENDPROC - ************************************************************************************************ + PROCEDURE getRowDeviceInfo LPARAMETERS tcDevInfo @@ -14183,7 +14193,7 @@ DEFINE CLASS CL_PROJECT AS CL_COL_BASE ENDPROC - ************************************************************************************************ + PROCEDURE getFormattedDeviceInfoText TRY LOCAL lcText @@ -18816,14 +18826,14 @@ DEFINE CLASS CL_PROJ_SRV_HEAD AS CL_CUS_BASE _TypeLib = '' - ************************************************************************************************ + PROCEDURE setParsedHeadInfoLine LPARAMETERS tcHeadInfoLine THIS.setParsedInfoLine( THIS, tcHeadInfoLine ) ENDPROC - ************************************************************************************************ + PROCEDURE setParsedInfoLine LPARAMETERS toObject, tcInfoLine LOCAL lcAsignacion, lcCurDir @@ -18836,7 +18846,7 @@ DEFINE CLASS CL_PROJ_SRV_HEAD AS CL_CUS_BASE ENDPROC - ************************************************************************************************ + PROCEDURE add_Server LPARAMETERS toServerData @@ -18852,7 +18862,7 @@ DEFINE CLASS CL_PROJ_SRV_HEAD AS CL_CUS_BASE ENDPROC - ************************************************************************************************ + PROCEDURE getDataFromPair_LenData_Structure LPARAMETERS tcData, tnPos, tnLen LOCAL lcData, lnLen @@ -18868,7 +18878,7 @@ DEFINE CLASS CL_PROJ_SRV_HEAD AS CL_CUS_BASE ENDPROC - ************************************************************************************************ + PROCEDURE parseServerInfo LPARAMETERS tcServerInfo @@ -18926,7 +18936,7 @@ DEFINE CLASS CL_PROJ_SRV_HEAD AS CL_CUS_BASE ENDPROC - ************************************************************************************************ + PROCEDURE getRowServerInfo TRY LOCAL lcStr, lnLenH, lnLen, lnPos ; @@ -18974,7 +18984,7 @@ DEFINE CLASS CL_PROJ_SRV_HEAD AS CL_CUS_BASE ENDPROC - ************************************************************************************************ + PROCEDURE getFormattedServerText TRY LOCAL lcText ; @@ -19051,7 +19061,7 @@ DEFINE CLASS CL_PROJ_SRV_DATA AS CL_CUS_BASE _Interface = '' - ************************************************************************************************ + PROCEDURE getRowServerInfo TRY LOCAL lcStr, lnLen, lnPos @@ -19089,7 +19099,7 @@ DEFINE CLASS CL_PROJ_SRV_DATA AS CL_CUS_BASE ENDPROC - ************************************************************************************************ + PROCEDURE getFormattedServerText TRY LOCAL lcText