Changeset: 133 - Agregado nuevo flag de depuración en los scripts .vbs de proceso por lotes para mostrar un mensaje de "Proceso finalizado"

- Bug Fix vcx/scx: Arreglado problema con orden de propiedades y métodos en campo Rseerved3 que provocaba que los eventos assign no se ejecuten
- Agregado soporte para convertir archivos PJM de SourceSafe a PJ2
- Agregada validación para avisar cuando un menú MNX no es versión VFP 9 para que el usuario lo pueda convertir con MODIFY MENU <nombre>
- CAMBIO en archivos MN2: Por un error tipográfico se ha cambiado el nombre "Autor" por "Author". Se puede agregar esa letra al MN2 o regenerar
- Limpieza de código
This commit is contained in:
fernando
2014-01-08 01:03:52 +01:00
parent 850422184b
commit ec02de65e9
18 changed files with 921 additions and 89 deletions

View File

@@ -2,11 +2,11 @@
* (ES) AUTOGENERADO - <20><>ATENCI<43>N!! - <20><>NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
*< FOXBIN2PRG: Version="1.14" SourceFile="C:\DESA\FOXBIN2PRG\TESTS\DATOS_READONLY\FB2P_FREE.DBF" Generated="2013/12/11 21:33:10" /> (Para uso con Visual FoxPro 9.0)
*< FOXBIN2PRG: Version="1.18" SourceFile="C:\DESA\foxbin2prg\TESTS\DATOS_READONLY\fb2p_free.dbf" Generated="2014/01/08 00:49:45" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
<TABLE>
<MemoFile>C:\DESA\FOXBIN2PRG\TESTS\DATOS_READONLY\FB2P_FREE.FPT</MemoFile>
<MemoFile></MemoFile>
<CodePage>1252</CodePage>
<LastUpdate>2013/12/11</LastUpdate>
<Database></Database>

Binary file not shown.

After

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,40 @@
Version= 1.20
Author=El autor
Company=La compan<61>a
Address=La direcci<63>n
City=Ciudad
State=State
Zip=Cod.Post
Country=Pa<50>s
SaveCode=.T.
Debug=.T.
Encrypt=.T.
NoLogo=.F.
CommentStyle=1
Comments=Comentarios
CompanyName=Company Name
FileDescription=File Description
LegalCopyright=Legal Copyright
LegalTrademarks=Legal Trademark
ProductName=Product Name
Major=1
Minor=0
Revision=5
AutoIncrement=.T.
[OLEServers]
C:\DESA\test2\fb2p_test.exe,fb2p_test,fb2p_test,fb2p_test Type Library,0,{97DF3026-912D-4604-B06D-60EF52C19B70}
cl_form,c:\desa\test2\fb2p_test.vcx,fb2p_test.cl_form,0,mi OLE server DLL,,1,{E888ECF1-F911-4F1B-A5DC-8739057087B1},{63194B79-0E07-44E6-9FC3-2EBCAA27787A}
cl_imagen,c:\desa\test2\fb2p_test.vcx,fb2p_test.cl_imagen,0,otro ole,,1,{BA0AD3CE-E874-402F-A835-85AE1CDCE515},{6B05B62A-2C51-4C45-921F-E09FA0E66CF5}
[OLEServersEnd]
[ProjectFiles]
0,i,bmps\container.ico,.F.,.F.,0,,,
1132700355,V,fb2p_test.vcx,.F.,.T.,1252,,,clase descrip
1132700357,K,fb2p_frm_1.scx,.F.,.F.,1252,,,
1132700358,K,fb2p_frm_2.scx,.F.,.F.,1252,,,
1132700438,x,bmps\sobrepostal.bmp,.F.,.F.,0,,,
1132700438,x,bmps\scccheckout.bmp,.F.,.F.,0,,,
1132700438,x,bmps\carpetaabierta.bmp,.F.,.F.,0,,,
1132700438,x,bmps\carpetacerrada.bmp,.F.,.F.,0,,,
1132700438,x,bmps\treeview.bmp,.F.,.F.,0,,,
1132700450,T,config\config.fpw,.T.,.F.,1252,,,
[EOF]

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,387 @@
DEFINE CLASS ft__foxbin2prg__c_conversor_prg_a_mnx AS FxuTestCase OF FxuTestCase.prg
#IF .F.
LOCAL THIS AS ft__foxbin2prg__c_conversor_prg_a_mnx OF ft__foxbin2prg__c_conversor_prg_a_mnx.PRG
#ENDIF
#DEFINE C_FB2P_VALUE_I '<fb2p_value>'
#DEFINE C_FB2P_VALUE_F '</fb2p_value>'
#DEFINE CR_LF CHR(13) + CHR(10)
#DEFINE C_CR CHR(13)
#DEFINE C_LF CHR(10)
#DEFINE C_TAB CHR(9)
#DEFINE C_PROC 'PROCEDURE'
#DEFINE C_ENDPROC 'ENDPROC'
#DEFINE C_TEXT 'TEXT'
#DEFINE C_ENDTEXT 'ENDTEXT'
#DEFINE C_IF_F '#IF .F.'
#DEFINE C_ENDIF '#ENDIF'
#DEFINE C_DEFINE_CLASS 'DEFINE CLASS'
#DEFINE C_ENDDEFINE_CLASS 'ENDDEFINE'
icObj = NULL
*******************************************************************************************************************************************
FUNCTION SETUP
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
*LOCAL loObj AS c_conversor_base OF "FOXBIN2PRG.PRG"
SET PROCEDURE TO 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
oFXU_LIB = CREATEOBJECT('CL_FXU_CONFIG')
oFXU_LIB.setup_comun()
*THIS.icObj = NEWOBJECT("c_conversor_base", "FOXBIN2PRG.PRG")
*loObj = THIS.icObj
*loObj.l_Test = .F.
ENDFUNC
*******************************************************************************************************************************************
FUNCTION TearDown
#IF .F.
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
#ENDIF
THIS.icObj = NULL
IF VARTYPE(oFXU_LIB) = "O"
oFXU_LIB.teardown_comun()
oFXU_LIB = NULL
ENDIF
RELEASE PROCEDURE 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
ENDFUNC
*******************************************************************************************************************************************
FUNCTION Evaluate_results
LPARAMETERS toEx AS EXCEPTION, tnCodError_Esperado
#IF .F.
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
#ENDIF
IF PCOUNT() = 0
THIS.messageout( "* Support method, not a valid test." )
RETURN .T.
ENDIF
IF ISNULL(toEx)
*-- Validaciones en m<>todo
ELSE
*-- Evaluaci<63>n de errores
THIS.messageout( "Error " + TRANSFORM(toEx.ERRORNO) + ', ' + TRANSFORM(toEx.MESSAGE) )
THIS.messageout( toEx.PROCEDURE + ', ' + TRANSFORM(toEx.LINENO) )
IF NOT INLIST( toEx.ERRORNO, 1098, 2071 ) && Error del usuario (ERROR y THROW)
THIS.messageout( TRANSFORM(toEx.LINECONTENTS) )
ENDIF
THIS.assertequals( tnCodError_Esperado, toEx.ERRORNO, 'Error' )
ENDIF
THIS.messageout( '' )
THIS.messageout( REPLICATE('*',80) )
ENDFUNC
*******************************************************************************************************************************************
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElArchivo_MENU1_MN2_YRegenerarEl_MNX_ConTodosSusObjetos
LOCAL lnCodError, lnCodError_Esperado ;
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ;
, laCampos_IN(1,18), laCampos_OUT(1,18), lnFields_OUT, lnFields_IN, I, X, lcMN2, lcMN3, lnLenHeader ;
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
, loEx AS EXCEPTION
#IF .F.
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
#ENDIF
TRY
loEx = NULL
loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG")
*-- DATOS DE ENTRADA
STORE 0 TO lnCodError
lc_File = 'MENU1.MNX'
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
*-- Genero el DC2
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
*-- Regenero el DBC
loCnv.Ejecutar( FORCEEXT(lc_File,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
*-- Renombro el DC2 a DC3 (ORIGINAL)
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
*-- Genero el DC2 desde el DBC regenerado
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
*-- Comparo los MN2 y MN3
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN2') ), lnLenHeader )
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN3') ), lnLenHeader )
*-- Visualizaci<63>n de valores
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
*-- Evaluaci<63>n de valores
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
CATCH TO loEx
THIS.Evaluate_results( loEx, lnCodError_Esperado )
FINALLY
USE IN (SELECT("ARCHIVOBIN_IN"))
USE IN (SELECT("TABLABIN"))
ENDTRY
ENDFUNC
*******************************************************************************************************************************************
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElArchivo_MENU2_MN2_YRegenerarEl_MNX_ConTodosSusObjetos
LOCAL lnCodError, lnCodError_Esperado ;
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ;
, laCampos_IN(1,18), laCampos_OUT(1,18), lnFields_OUT, lnFields_IN, I, X, lcMN2, lcMN3, lnLenHeader ;
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
, loEx AS EXCEPTION
#IF .F.
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
#ENDIF
TRY
loEx = NULL
loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG")
*-- DATOS DE ENTRADA
STORE 0 TO lnCodError
lc_File = 'MENU2.MNX'
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
*-- Genero el DC2
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
*-- Regenero el DBC
loCnv.Ejecutar( FORCEEXT(lc_File,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
*-- Renombro el DC2 a DC3 (ORIGINAL)
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
*-- Genero el DC2 desde el DBC regenerado
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
*-- Comparo los MN2 y MN3
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN2') ), lnLenHeader )
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN3') ), lnLenHeader )
*-- Visualizaci<63>n de valores
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
*-- Evaluaci<63>n de valores
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
CATCH TO loEx
THIS.Evaluate_results( loEx, lnCodError_Esperado )
FINALLY
USE IN (SELECT("ARCHIVOBIN_IN"))
USE IN (SELECT("TABLABIN"))
ENDTRY
ENDFUNC
*******************************************************************************************************************************************
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElArchivo_MENU3_MN2_YRegenerarEl_MNX_ConTodosSusObjetos
LOCAL lnCodError, lnCodError_Esperado ;
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ;
, laCampos_IN(1,18), laCampos_OUT(1,18), lnFields_OUT, lnFields_IN, I, X, lcMN2, lcMN3, lnLenHeader ;
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
, loEx AS EXCEPTION
#IF .F.
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
#ENDIF
TRY
loEx = NULL
loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG")
*-- DATOS DE ENTRADA
STORE 0 TO lnCodError
lc_File = 'MENU3.MNX'
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
*-- Genero el DC2
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
*-- Regenero el DBC
loCnv.Ejecutar( FORCEEXT(lc_File,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
*-- Renombro el DC2 a DC3 (ORIGINAL)
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
*-- Genero el DC2 desde el DBC regenerado
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
*-- Comparo los MN2 y MN3
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN2') ), lnLenHeader )
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN3') ), lnLenHeader )
*-- Visualizaci<63>n de valores
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
*-- Evaluaci<63>n de valores
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
CATCH TO loEx
THIS.Evaluate_results( loEx, lnCodError_Esperado )
FINALLY
USE IN (SELECT("ARCHIVOBIN_IN"))
USE IN (SELECT("TABLABIN"))
ENDTRY
ENDFUNC
*******************************************************************************************************************************************
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElArchivo_MENU_SHORTCUT_MN2_YRegenerarEl_MNX_ConTodosSusObjetos
LOCAL lnCodError, lnCodError_Esperado ;
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ;
, laCampos_IN(1,18), laCampos_OUT(1,18), lnFields_OUT, lnFields_IN, I, X, lcMN2, lcMN3, lnLenHeader ;
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
, loEx AS EXCEPTION
#IF .F.
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
#ENDIF
TRY
loEx = NULL
loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG")
*-- DATOS DE ENTRADA
STORE 0 TO lnCodError
lc_File = 'MENU_SHORTCUT.MNX'
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
*-- Genero el DC2
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
*-- Regenero el DBC
loCnv.Ejecutar( FORCEEXT(lc_File,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
*-- Renombro el DC2 a DC3 (ORIGINAL)
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
*-- Genero el DC2 desde el DBC regenerado
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
*-- Comparo los MN2 y MN3
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN2') ), lnLenHeader )
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN3') ), lnLenHeader )
*-- Visualizaci<63>n de valores
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
*-- Evaluaci<63>n de valores
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
CATCH TO loEx
THIS.Evaluate_results( loEx, lnCodError_Esperado )
FINALLY
USE IN (SELECT("ARCHIVOBIN_IN"))
USE IN (SELECT("TABLABIN"))
ENDTRY
ENDFUNC
*******************************************************************************************************************************************
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElArchivo_MENU_SHORTCUT2_MN2_YRegenerarEl_MNX_ConTodosSusObjetos
LOCAL lnCodError, lnCodError_Esperado ;
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ;
, laCampos_IN(1,18), laCampos_OUT(1,18), lnFields_OUT, lnFields_IN, I, X, lcMN2, lcMN3, lnLenHeader ;
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
, loEx AS EXCEPTION
#IF .F.
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
#ENDIF
TRY
loEx = NULL
loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG")
*-- DATOS DE ENTRADA
STORE 0 TO lnCodError
lc_File = 'MENU_SHORTCUT2.MNX'
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
oFXU_LIB.copiarArchivosParaTest( FORCEEXT(lc_File,'*') )
*-- Genero el DC2
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
*-- Regenero el DBC
loCnv.Ejecutar( FORCEEXT(lc_File,'MN2'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
*-- Renombro el DC2 a DC3 (ORIGINAL)
RENAME (FORCEEXT(lc_OutputFile,'MN2')) TO (FORCEEXT(lc_OutputFile,'MN3'))
*-- Genero el DC2 desde el DBC regenerado
loCnv.Ejecutar( FORCEEXT(lc_File,'MNX'), '', '', '', '1', '0', '1',.F.,.F.,.T. )
*-- Comparo los MN2 y MN3
lnLenHeader = LEN( loCnv.get_PROGRAM_HEADER() )
lcMN2 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN2') ), lnLenHeader )
lcMN3 = SUBSTR( FILETOSTR( FORCEEXT(lc_File,'MN3') ), lnLenHeader )
*-- Visualizaci<63>n de valores
THIS.messageout( 'Bytes MN3: ' + TRANSFORM(LEN(lcMN3)) )
THIS.messageout( 'Bytes MN2: ' + TRANSFORM(LEN(lcMN2)) )
*-- Evaluaci<63>n de valores
this.assertequals( lcMN2, lcMN3, '[Comparaci<63>n MN2 y MN3]' )
CATCH TO loEx
THIS.Evaluate_results( loEx, lnCodError_Esperado )
FINALLY
USE IN (SELECT("ARCHIVOBIN_IN"))
USE IN (SELECT("TABLABIN"))
ENDTRY
ENDFUNC
ENDDEFINE