- Agregado padr(item,128) en los add(), porque si no en las collections con keysort=2 "estoXXX" está antes que "esto" :(

This commit is contained in:
fdbozzo
2015-04-14 01:19:21 +02:00
parent bbf0b40f6b
commit 0e07d8a446
2 changed files with 30 additions and 18 deletions

Binary file not shown.

View File

@@ -15246,7 +15246,6 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
.write_EXTERNAL_MEMBER_HEADER( @toFoxBin2Prg, .F., .F., @lcExternalHeader )
*-- Connections
toDatabase._Connections.KeySort=2
FOR EACH loConnection IN toDatabase._Connections &&FOXOBJECT
lnClassCount = lnClassCount + 1
DIMENSION laClasses(lnClassCount,3)
@@ -15257,7 +15256,6 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
ENDFOR
*-- Tables
toDatabase._Tables.KeySort=2
FOR EACH loTable IN toDatabase._Tables &&FOXOBJECT
lnClassCount = lnClassCount + 1
DIMENSION laClasses(lnClassCount,3)
@@ -15268,7 +15266,6 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
ENDFOR
*-- Views
toDatabase._Views.KeySort=2
FOR EACH loView IN toDatabase._Views &&FOXOBJECT
lnClassCount = lnClassCount + 1
DIMENSION laClasses(lnClassCount,3)
@@ -17803,7 +17800,8 @@ DEFINE CLASS CL_DBC_CONNECTIONS AS CL_DBC_COL_BASE
CASE C_CONNECTION_I $ tcLine
loConnection = CREATEOBJECT("CL_DBC_CONNECTION")
loConnection.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
.ADD( loConnection, loConnection._Name )
*-- El siguiente PADR() es porque si no "estoXXX" est<73> antes que "esto" cuando keysort=2 (raro...)
.ADD( loConnection, PADR(loConnection._Name,128) )
CASE '<Comment>' $ tcLine
.analizarBloque_Comment( @tcLine, @taCodeLines, @I, tnCodeLines )
@@ -17921,7 +17919,8 @@ DEFINE CLASS CL_DBC_CONNECTIONS AS CL_DBC_COL_BASE
FOR I = 1 TO lnConnection_Count
loConnection = CREATEOBJECT('CL_DBC_CONNECTION')
loConnection.read_BinDataToProperties( laConnections(I) )
.ADD( loConnection, loConnection._Name )
*-- El siguiente PADR() es porque si no "estoXXX" est<73> antes que "esto" cuando keysort=2 (raro...)
.ADD( loConnection, PADR(loConnection._Name,128) )
ENDFOR
ENDIF
ENDWITH
@@ -18208,7 +18207,8 @@ DEFINE CLASS CL_DBC_TABLES AS CL_DBC_COL_BASE
CASE C_TABLE_I $ tcLine
loTable = CREATEOBJECT("CL_DBC_TABLE")
loTable.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
.ADD( loTable, loTable._Name )
*-- El siguiente PADR() es porque si no "estoXXX" est<73> antes que "esto" cuando keysort=2 (raro...)
.ADD( loTable, PADR(loTable._Name,128) )
OTHERWISE && Otro valor
*-- No hay otros valores
@@ -18329,7 +18329,8 @@ DEFINE CLASS CL_DBC_TABLES AS CL_DBC_COL_BASE
FOR I = 1 TO lnTable_Count
loTable = CREATEOBJECT("CL_DBC_TABLE")
loTable.read_BinDataToProperties( laTables(I) )
.ADD( loTable, loTable._Name )
*-- El siguiente PADR() es porque si no "estoXXX" est<73> antes que "esto" cuando keysort=2 (raro...)
.ADD( loTable, PADR(loTable._Name,128) )
ENDFOR
ENDIF
@@ -18674,7 +18675,8 @@ DEFINE CLASS CL_DBC_FIELDS_DB AS CL_DBC_COL_BASE
IF .n_Campos = 0 THEN
*-- MODO LEGACY: Cuando no existe tag de ordenamiento de campos, se agregan en el orden que se leen
.ADD( loField, loField._Name )
*-- El siguiente PADR() es porque si no "estoXXX" est<73> antes que "esto" cuando keysort=2 (raro...)
.ADD( loField, PADR(loField._Name,128) )
ELSE
lnPos = ASCAN( .a_Campos, loField._Name, 1, 0, 1, 1+2+4+8 )
.a_Campos( lnPos, 2) = loField
@@ -18687,7 +18689,8 @@ DEFINE CLASS CL_DBC_FIELDS_DB AS CL_DBC_COL_BASE
*-- Restablezco el orden de los campos (Solo si n_Campos > 0, que significa que tiene el nuevo tag especial de orden)
FOR lnPos = 1 TO .n_Campos
.ADD( .a_Campos( lnPos, 2), .a_Campos( lnPos, 1) )
*-- El siguiente PADR() es porque si no "estoXXX" est<73> antes que "esto" cuando keysort=2 (raro...)
.ADD( .a_Campos( lnPos, 2), PADR(.a_Campos( lnPos, 1),128) )
ENDFOR
ENDWITH && THIS
ENDIF
@@ -18884,7 +18887,8 @@ DEFINE CLASS CL_DBC_FIELDS_DB AS CL_DBC_COL_BASE
FOR I = 1 TO lnField_Count
loField = CREATEOBJECT("CL_DBC_FIELD_DB")
loField.read_BinDataToProperties( tcTable, laFields(I) )
.ADD( loField, loField._Name )
*-- El siguiente PADR() es porque si no "estoXXX" est<73> antes que "esto" cuando keysort=2 (raro...)
.ADD( loField, PADR(loField._Name,128) )
ENDFOR
ENDIF
@@ -19144,7 +19148,8 @@ DEFINE CLASS CL_DBC_INDEXES_DB AS CL_DBC_COL_BASE
loIndex = NULL
loIndex = CREATEOBJECT("CL_DBC_INDEX_DB")
loIndex.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
.ADD( loIndex, loIndex._Name )
*-- El siguiente PADR() es porque si no "estoXXX" est<73> antes que "esto" cuando keysort=2 (raro...)
.ADD( loIndex, PADR(loIndex._Name,128) )
OTHERWISE && Otro valor
*-- No hay otros valores
@@ -19269,7 +19274,8 @@ DEFINE CLASS CL_DBC_INDEXES_DB AS CL_DBC_COL_BASE
FOR I = 1 TO lnIndex_Count
loIndex = CREATEOBJECT("CL_DBC_INDEX_DB")
loIndex.read_BinDataToProperties( tcTable + '.' + laIndexes(I) )
.ADD( loIndex, loIndex._Name )
*-- El siguiente PADR() es porque si no "estoXXX" est<73> antes que "esto" cuando keysort=2 (raro...)
.ADD( loIndex, PADR(loIndex._Name,128) )
ENDFOR
ENDIF
@@ -19497,7 +19503,8 @@ DEFINE CLASS CL_DBC_VIEWS AS CL_DBC_COL_BASE
loView = NULL
loView = CREATEOBJECT("CL_DBC_VIEW")
loView.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
.ADD( loView, loView._Name )
*-- El siguiente PADR() es porque si no "estoXXX" est<73> antes que "esto" cuando keysort=2 (raro...)
.ADD( loView, PADR(loView._Name,128) )
OTHERWISE && Otro valor
*-- No hay otros valores
@@ -19617,7 +19624,8 @@ DEFINE CLASS CL_DBC_VIEWS AS CL_DBC_COL_BASE
FOR I = 1 TO lnView_Count
loView = CREATEOBJECT("CL_DBC_VIEW")
loView.read_BinDataToProperties( laViews(I) )
.ADD( loView, loView._Name )
*-- El siguiente PADR() es porque si no "estoXXX" est<73> antes que "esto" cuando keysort=2 (raro...)
.ADD( loView, PADR(loView._Name,128) )
ENDFOR
ENDIF
@@ -20072,7 +20080,8 @@ DEFINE CLASS CL_DBC_FIELDS_VW AS CL_DBC_COL_BASE
IF .n_Campos = 0 THEN
*-- MODO LEGACY: Cuando no existe tag de ordenamiento de campos, se agregan en el orden que se leen
.ADD( loField, loField._Name )
*-- El siguiente PADR() es porque si no "estoXXX" est<73> antes que "esto" cuando keysort=2 (raro...)
.ADD( loField, PADR(loField._Name,128) )
ELSE
lnPos = ASCAN( .a_Campos, loField._Name, 1, 0, 1, 1+2+4+8 )
.a_Campos( lnPos, 2) = loField
@@ -20085,7 +20094,8 @@ DEFINE CLASS CL_DBC_FIELDS_VW AS CL_DBC_COL_BASE
*-- Restablezco el orden de los campos (Solo si n_Campos > 0, que significa que tiene el nuevo tag especial de orden)
FOR lnPos = 1 TO .n_Campos
.ADD( .a_Campos( lnPos, 2), .a_Campos( lnPos, 1) )
*-- El siguiente PADR() es porque si no "estoXXX" est<73> antes que "esto" cuando keysort=2 (raro...)
.ADD( .a_Campos( lnPos, 2), PADR(.a_Campos( lnPos, 1),128) )
ENDFOR
ENDWITH && THIS
ENDIF
@@ -20282,7 +20292,8 @@ DEFINE CLASS CL_DBC_FIELDS_VW AS CL_DBC_COL_BASE
FOR I = 1 TO lnField_Count
loField = CREATEOBJECT("CL_DBC_FIELD_VW")
loField.read_BinDataToProperties( tcView, laFields(I) )
.ADD( loField, loField._Name )
*-- El siguiente PADR() es porque si no "estoXXX" est<73> antes que "esto" cuando keysort=2 (raro...)
.ADD( loField, PADR(loField._Name,128) )
ENDFOR
ENDIF
@@ -20558,7 +20569,8 @@ DEFINE CLASS CL_DBC_RELATIONS AS CL_DBC_COL_BASE
loRelation.analizarBloque( @tcLine, @taCodeLines, @I, tnCodeLines )
TRY
.ADD( loRelation, loRelation._Name )
*-- El siguiente PADR() es porque si no "estoXXX" est<73> antes que "esto" cuando keysort=2 (raro...)
.ADD( loRelation, PADR(loRelation._Name,128) )
CATCH TO loEx WHEN loEx.ERRORNO = 2062 && The specified Key already exists.
*-- Saltear este error, porque implica que la relaci<63>n est<73> duplicada
ENDTRY