Changeset: 425 v1.19.32

- Una propiedad llamada "text" es confundida con la estructura text/endtext (ph42)
This commit is contained in:
fdbozzo
2014-08-26 22:33:43 +02:00
7 changed files with 72 additions and 13 deletions

View File

@@ -2,8 +2,8 @@ Lparameters toUpdateInfo
Local lcNote
With toUpdateInfo
.VersionNumber = 'v1.19.31'
.VersionDate = Date(2014,08,22)
.VersionNumber = 'v1.19.32'
.VersionDate = Date(2014,08,26)
.SourceFileUrl = 'http://vfpxrepository.com/dl/thorupdate/Projects/FoxBin2Prg/FoxBin2Prg.Zip'
.Link = 'http://vfpx.codeplex.com/wikipage?title=FoxBin2PRG'
@@ -17,6 +17,9 @@ Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg
Change History -------------------------------------------------------------
2014/08/26 v1.19.32
- If exists a property called "text" it is confused with a text/endtext structure (ph42)
2014/08/22 v1.19.31
- Trash cleanup code on binary methods, normally added by tools like ReFox and others
- Added EXE version number when generating a debug LOG file

View File

@@ -343,6 +343,51 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion as
ENDFUNC
*******************************************************************************************************************************************
FUNCTION Deberia_NoEncontrarBloque_TEXT_ENDTEXT_CuandoExisteUnaPropiedadLlamada_Text
LOCAL lcMethod, laLineas(1), lnLineas, laPos(1,2), lnPos_Count, laExpected_Pos(1,2) ;
, laLineasExclusion(19), laLineasExclusion_Esperadas(19)
LOCAL loObj AS c_conversor_prg_a_bin OF "FOXBIN2PRG.PRG"
loObj = THIS.icObj
*-- Input and expected params
STORE '' TO lcMethod
laExpected_Pos(1,1) = 0
laExpected_Pos(1,2) = 0
TEXT TO lcMethod NOSHOW TEXTMERGE FLAGS 1 PRETEXT 1+2
DEFINE CLASS test AS custom
*< CLASSDATA: Baseclass="custom" Timestamp="" Scale="Pixels" Uniqueid="" />
*<DefinedPropArrayMethod>
*m: text_access
*m: text_assign
*p: text && Returns all of the text in a text-entry area of a control.
*</DefinedPropArrayMethod>
text = PRETEXT
PROCEDURE text_access
RETURN THIS.text
ENDPROC
PROCEDURE text_assign
LPARAMETERS vNewVal
THIS.text = m.vNewVal
ENDPROC
ENDDEFINE
ENDTEXT
lnLineas = ALINES( laLineas, lcMethod )
*-- Test
loObj.identificarBloquesDeExclusion( @laLineas, lnLineas, , @laLineasExclusion, @lnPos_Count, @laPos )
*-- Evaluaci<63>n de resultados
THIS.Evaluate_results( @laExpected_Pos, @laPos, lnPos_Count, @laLineasExclusion_Esperadas, @laLineasExclusion )
ENDFUNC
*******************************************************************************************************************************************
FUNCTION Deberia_EncontrarBloque_TEXT_ENDTEXT_CuandoEvaluaUnaLineaQueTerminaConUn_EndText_YLineaAnteriorTerminaEn_Coma
LOCAL lcMethod, laLineas(1), lnLineas, laPos(1,2), lnPos_Count, laExpected_Pos(1,2) ;

Binary file not shown.

View File

@@ -26,7 +26,7 @@ _LegalTrademark = "Creative Commons 4: Reconocimiento - CompartirIgual (by-sa):
_ProductName = " FOXBIN2PRG v1.19.31"
_MajorVer = "1"
_MinorVer = "19"
_Revision = "31"
_Revision = "32"
_LanguageID = "1034"
_AutoIncrement = "0"
*</DevInfo>

Binary file not shown.

Binary file not shown.

View File

@@ -101,6 +101,7 @@
* 17/08/2014 FDBOZZO v1.19.31 Agregada versi<73>n del EXE cuando se genera LOG de depuraci<63>n
* 20/08/2014 FDBOZZO v1.19.31 Mejora vcx/scx: Mejorado el reconocimiento de instrucciones #IF..#ENDIF cuando hay espacios entre # y el nombre de funci<63>n
* 20/08/2014 FDBOZZO v1.19.31 Mejora: Ajuste de capitalizaci<63>n de los archivos origen, as<61> ya no hay que hacerlo manualmente
* 25/08/2014 FDBOZZO v1.19.32 Arreglo bug vcx/vct v1.19.31: Una propiedad llamada "text" es confundida con la estructura text/endtext (ph42)
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
*
*---------------------------------------------------------------------------------------------------
@@ -142,6 +143,7 @@
* 29/07/2014 M_N_M REPORTE BUG vcx/scx v1.19.28: Los campos de tabla con nombre "text" a veces provocan corrupci<63>n del binario generado (Arreglado en v1.19.29)
* 07/08/2014 Jim Nelson REPORTE BUG vcx/scx v1.19.29: Cuando la l<>nea anterior a un ENDTEXT termina en ";" o "," no se reconoce como ENDTEXT sino como continuaci<63>n (Arreglado en v1.19.30)
* 08/08/2014 Ryan Harris REPORTE BUG vcx/vct v1.19.29: En ciertos casos de herencia no se mantiene el orden alfabetico de algunos metodos (solucionado en v1.19.30)
* 25/08/2014 ph42 REPORTE BUG bug vcx/vct v1.19.31: Una propiedad llamada "text" es confundida con la estructura text/endtext (solucionado en v1.19.32)
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
*
*---------------------------------------------------------------------------------------------------
@@ -2252,7 +2254,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
.RenameFile( FORCEEXT(.c_InputFile,'MNT'), lcEXE_CAPS, loFSO )
ENDCASE
ELSE
*-- Normalizar archivo(s) de salida. El primero siempre se normaliza (??2, ??X, DBF, DBC)
.RenameFile( .c_OutputFile, lcEXE_CAPS, loFSO )
@@ -2754,24 +2756,33 @@ DEFINE CLASS c_conversor_base AS SESSION
IF LEFT(lcLine,1) == '#'
lcLine = CHRTRAN( lcLine, ' ', '' ) && Quito los espacios a lo que comience con #
ENDIF
IF tnIniFin = 1
*-- TOKENS DE INICIO
IF UPPER( LEFT( tcLine, LEN(ta_ID_Bloques(X,1)) ) ) == ta_ID_Bloques(X,1)
IF UPPER( LEFT( lcLine, LEN(ta_ID_Bloques(X,1)) ) ) == ta_ID_Bloques(X,1)
*-- Evaluar casos especiales
lcWord = UPPER( ALLTRIM(GETWORDNUM(tcLine,1) ) )
lcWord = UPPER( ALLTRIM(GETWORDNUM(lcLine,1) ) )
IF ta_ID_Bloques(X,1) == 'TEXT' AND NOT lcWord == 'TEXT'
EXIT
IF ta_ID_Bloques(X,1) == 'TEXT' THEN
lcLine = UPPER( lcLine ) + ' '
DO CASE
CASE NOT lcWord == 'TEXT'
EXIT
CASE UPPER( LEFT( CHRTRAN( lcLine, ' ', '' ), 5 ) ) == 'TEXT='
EXIT
ENDCASE
ENDIF
llEncontrado = .T.
ENDIF
ELSE
*-- TOKENS DE FIN
IF LEFT( UPPER( tcLine ), tnLen_IDFinBQ ) == ta_ID_Bloques(X,2) && Fin de bloque encontrado (#ENDI, ENDTEXT, etc)
IF LEFT( UPPER( lcLine ), tnLen_IDFinBQ ) == ta_ID_Bloques(X,2) && Fin de bloque encontrado (#ENDI, ENDTEXT, etc)
*-- Evaluar casos especiales
lcWord = UPPER( ALLTRIM(GETWORDNUM(tcLine,1) ) )
lcWord = UPPER( ALLTRIM(GETWORDNUM(lcLine,1) ) )
IF ta_ID_Bloques(X,2) == 'ENDT' AND NOT lcWord == LEFT( 'ENDTEXT', LEN(lcWord) )
EXIT
@@ -8862,7 +8873,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
ENDIF
IF NOT EMPTY(m.tcMethod)
DIMENSION laLine(1)
DIMENSION laLine(1)
STORE '' TO laLine
STORE 0 TO lnTextNodes
@@ -8997,7 +9008,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
taCode(tnMethodCount) = taCode(tnMethodCount) + laLine(I) &&+ CR_LF
llProcOpen = .F.
*CASE tnMethodCount = 0 OR NOT llProcOpen AND LEFT( LTRIM(laLine(I)),1 ) = '*'
*CASE tnMethodCount = 0 OR NOT llProcOpen AND LEFT( LTRIM(laLine(I)),1 ) = '*'
CASE tnMethodCount = 0 OR NOT llProcOpen
*-- Skip empty and commented lines before methods begin
*-- Aqu<71> como condici<63>n podr<64>a poner: NOT llProcOpen AND LEFT(laLine(I), 7) # 'ENDPROC', pero abarcar<61>a demasiado.