diff --git a/Convert_VFP9_BIN_2_PRG.vbs b/Convert_VFP9_BIN_2_PRG.vbs index a93516c..26a7fb0 100644 --- a/Convert_VFP9_BIN_2_PRG.vbs +++ b/Convert_VFP9_BIN_2_PRG.vbs @@ -28,7 +28,7 @@ nExitCode = 0 ' 4=Don't show FoxBin2prg error modal messages ' 8=Show end of process message ' 16=Empty timestamps -nDebug = 1+0+4+0+16 +nDebug = 1+0+4+8 '--------------------------------------------------------------------------------------------------- If WScript.Arguments.Count = 0 Then @@ -102,7 +102,7 @@ Else & cFlagRecompile & "," & cNoTimestamps & " )" End If If cFlagJustShowCall = "1" Then - MsgBox cCMD, 64, "PARAMETROS ENVIADOS" + MsgBox cCMD, 64, "PARAMETERS" Else oVFP9.DoCmd( cCMD ) nExitCode = oVFP9.Eval("_SCREEN.ExitCode") @@ -115,7 +115,7 @@ Else oVFP9.DoCmd( "oFoxBin2prg = NULL" ) If GetBit(nDebug, 4) Then - MsgBox "Fin del Proceso!", 64, WScript.ScriptName + MsgBox "End of Process!", 64, WScript.ScriptName End If End If diff --git a/Convert_VFP9_PRG_2_BIN.vbs b/Convert_VFP9_PRG_2_BIN.vbs index 5c4f2b7..434efbf 100644 --- a/Convert_VFP9_PRG_2_BIN.vbs +++ b/Convert_VFP9_PRG_2_BIN.vbs @@ -28,7 +28,7 @@ nExitCode = 0 ' 4=Don't show FoxBin2prg error modal messages ' 8=Show end of process message ' 16=Empty timestamps -nDebug = 1+0+4+0+16 +nDebug = 1+0+4+8 '--------------------------------------------------------------------------------------------------- If WScript.Arguments.Count = 0 Then @@ -109,7 +109,7 @@ Else & cFlagRecompile & "," & cNoTimestamps & " )" End If If cFlagJustShowCall = "1" Then - MsgBox cCMD, 64, "PARAMETROS ENVIADOS" + MsgBox cCMD, 64, "PARAMETERS" Else oVFP9.DoCmd( cCMD ) nExitCode = oVFP9.Eval("_SCREEN.ExitCode") @@ -122,7 +122,7 @@ Else oVFP9.DoCmd( "oFoxBin2prg = NULL" ) If GetBit(nDebug, 4) Then - MsgBox "Fin del Proceso!", 64, WScript.ScriptName + MsgBox "End of Process!", 64, WScript.ScriptName End If End If diff --git a/README.txt b/README.txt index 6314b83..7fdc564 100644 --- a/README.txt +++ b/README.txt @@ -1,56 +1,8 @@ 26/01/2014 FOXBIN2PRG v1.19 FOR VISUAL FOXPRO 9 BINARIES Fernando D. Bozzo (fdbozzo@gmail.com) Blog: http://fdbozzo.blogspot.com.es/ +Project info: https://vfpx.codeplex.com/wikipage?title=FoxBin2Prg - -ESPAÑOL -------------------------------------------------------------------------------------------- - -¿Que es FOXBIN2PRG? -Es un programa pensado para ser usado con herramientas SCM (Source Code Managers) que pretende -sustituir a SCCTEXT y mejorarlo, generando versiones TEXTO bidireccionales que permiten volver -a generar el archivo binario original. - -Ventajas: -- Genera versiones tipo "PRG" (no compilables), para comparación visual -- Permite modificar la versión TEXTO tan fácilmente como si se modificara un PRG -- Todo el código del programa está en un solo PRG, para simplificar su copia y mantenimiento -- Con las versiones TEXTO se pueden volver a generar los binarios, lo que sirve como backup -- Las extensiones son configurables si se crea un archivo FOXBIN2PRG.CFG -- Los métodos y propiedades de la versión TEXTO se ordenan alfabéticamente para facilitar su comparación -- Tiene compatibilidad con SCCTEXT a nivel de parámetros para usarlo como sustituto en SourceSafe - -Actualmente soporta las conversiones de archivos PJX,SCX,VCX,FRX,LBX,DBC,DBF y MNX para los que genera las -versiones TEXTO con extensión PJ2,SC2,VC2,FR2,LB2,DC2,DB2 y MN2, que pueden reconfigurarse para compatibilizar -con SourceSafe. - -Estructura del archivo de configuración FOXBIN2PRG.CFG -extension: SC2=SCA -extension: VC2=VCA -extension: PJ2=PJA - -USO: -DO FOXBIN2PRG.PRG WITH "\archivo.scx" ==> Genera la versión TEXTO con extensión sc2 -DO FOXBIN2PRG.PRG WITH "\archivo.sc2" ==> Regenera la versión binaria con extensión scx - -TRUCO UTIL: -Se puede crear un acceso directo en la carpeta "SendTo" del perfil del usuario, para poder "enviar" -el archivo elegido (pjx,pj2,etc) a Foxbin2prg.exe, y así se hacen conversiones al vuelo. - -LOCALIZACIÓN: -Si se crea un archivo [foxbin2prg.h], se pueden trasladar los textos a otros idiomas. Se adjunta -un archivo de ejemplo [foxbin2prg_en.h] con la traslación al inglés. -Es necesario recompilar el programa para que se actualicen los textos con el archivo include. - - -NOTA FINAL: -Este programa es Open Source y "libre", y como tal no ofrezco garantías de que cumpla con sus espectativas -o de que está libre de fallos, que intentaré solucionar si me reporta y mis obligaciones me lo permiten. -Project info and updated: https://vfpx.codeplex.com/wikipage?title=FoxBin2Prg - - -LICENCIA: -Esta obra está sujeta a la licencia Reconocimiento-CompartirIgual 4.0 Internacional de Creative Commons. -Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/4.0/deed.es_ES. - +ENGLISH/ESPAÑOL ENGLISH -------------------------------------------------------------------------------------------- @@ -95,9 +47,64 @@ Recompiling is necesary to update the strings from the include file. FINAL NOTE: This program is Open Source and "libre", and I don't make any garanties that it fulfills your espectations or that it will be free of bugs, that I will try to fix if my obligations let me do it. -Información del proyecto y actualizaciones: https://vfpx.codeplex.com/wikipage?title=FoxBin2Prg_es +Project info and updated: https://vfpx.codeplex.com/wikipage?title=FoxBin2Prg LICENCE: This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/. + + + + +ESPAÑOL -------------------------------------------------------------------------------------------- + +¿Que es FOXBIN2PRG? +Es un programa pensado para ser usado con herramientas SCM (Source Code Managers) que pretende +sustituir a SCCTEXT y mejorarlo, generando versiones TEXTO bidireccionales que permiten volver +a generar el archivo binario original. + +Ventajas: +- Genera versiones tipo "PRG" (no compilables), para comparación visual +- Permite modificar la versión TEXTO tan fácilmente como si se modificara un PRG +- Todo el código del programa está en un solo PRG, para simplificar su copia y mantenimiento +- Con las versiones TEXTO se pueden volver a generar los binarios, lo que sirve como backup +- Las extensiones son configurables si se crea un archivo FOXBIN2PRG.CFG +- Los métodos y propiedades de la versión TEXTO se ordenan alfabéticamente para facilitar su comparación +- Tiene compatibilidad con SCCTEXT a nivel de parámetros para usarlo como sustituto en SourceSafe + +Actualmente soporta las conversiones de archivos PJX,SCX,VCX,FRX,LBX,DBC,DBF y MNX para los que genera las +versiones TEXTO con extensión PJ2,SC2,VC2,FR2,LB2,DC2,DB2 y MN2, que pueden reconfigurarse para compatibilizar +con SourceSafe. + +Estructura del archivo de configuración FOXBIN2PRG.CFG +extension: SC2=SCA +extension: VC2=VCA +extension: PJ2=PJA + +USO: +DO FOXBIN2PRG.PRG WITH "\archivo.scx" ==> Genera la versión TEXTO con extensión sc2 +DO FOXBIN2PRG.PRG WITH "\archivo.sc2" ==> Regenera la versión binaria con extensión scx + +TRUCO UTIL: +Se puede crear un acceso directo en la carpeta "SendTo" del perfil del usuario, para poder "enviar" +el archivo elegido (pjx,pj2,etc) a Foxbin2prg.exe, y así se hacen conversiones al vuelo. + +LOCALIZACIÓN: +Si se crea un archivo [foxbin2prg.h], se pueden trasladar los textos a otros idiomas. Se adjunta +un archivo de ejemplo [foxbin2prg_en.h] con la traslación al inglés. +Es necesario recompilar el programa para que se actualicen los textos con el archivo include. + + +NOTA FINAL: +Este programa es Open Source y "libre", y como tal no ofrezco garantías de que cumpla con sus espectativas +o de que está libre de fallos, que intentaré solucionar si me reporta y mis obligaciones me lo permiten. +Información del proyecto y actualizaciones: https://vfpx.codeplex.com/wikipage?title=FoxBin2Prg_es + + +LICENCIA: +Esta obra está sujeta a la licencia Reconocimiento-CompartirIgual 4.0 Internacional de Creative Commons. +Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/4.0/deed.es_ES. + + + diff --git a/TESTS/DATOS_READONLY/fb2p_test.pjt b/TESTS/DATOS_READONLY/fb2p_test.pjt index 765bccf..f14deef 100644 Binary files a/TESTS/DATOS_READONLY/fb2p_test.pjt and b/TESTS/DATOS_READONLY/fb2p_test.pjt differ diff --git a/TESTS/DATOS_READONLY/fb2p_test.pjx b/TESTS/DATOS_READONLY/fb2p_test.pjx index 528207e..f57071c 100644 Binary files a/TESTS/DATOS_READONLY/fb2p_test.pjx and b/TESTS/DATOS_READONLY/fb2p_test.pjx differ diff --git a/TESTS/ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion.prg b/TESTS/ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion.prg index b7570de..0501f59 100644 --- a/TESTS/ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion.prg +++ b/TESTS/ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion.prg @@ -158,4 +158,81 @@ DEFINE CLASS ut__foxbin2prg__c_conversor_base__IdentificarBloquesDeExclusion as ENDFUNC + ******************************************************************************************************************************************* + FUNCTION Deberia_NoEncontrarNingunBloque_TEXT_ENDTEXT_CuandoUnaLineaQueComienzaConUnCampoLlamado_Text_esEvaluado + LOCAL lcMethod, laLineas(1), lnLineas, laPos(1,2), lnPos_Count, laExpected_Pos(1,2) + 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+4 + <> myMethod_B + *-- Code Block + IF !FOUND() + APPEND BLANK + REPLACE CURSOR WITH "cawlmain", START WITH 1, END WITH 999999, isnumeric WITH .F., lastused WITH "", ; && Worst case for next line + TEXT WITH "Wärmeobjekte", standard WITH .T. + ENDIF + + *-- Code Block + CREATE CURSOR vorlaufsatz (; + Satzlaenge C(4),; + Satzart C(2),; + Folgekennz C(2),; + Absender C(2),; + Empfaenger C(2),; + Rohdatum C(8),; + RohZeit C(4),; + LFDNr C(4),; && Worst case for next line + Text C(26),; + Trenner C(2),; + DATUM D NULL,; + ZEIT C(8) NULL,; + KEYLINEID N(6,0) NULL ) + + *-- Code Block + CREATE CURSOR eomaildbf (; + adresse c(8) NULL DEFAULT .NULL.,; + zaehler i AUTOINC NEXTVALUE 1 STEP 1,; + startseite N(6) NOT NULL DEFAULT 0,; + endseite N(6) NOT NULL DEFAULT 0,; + vseite N(6) NOT NULL DEFAULT 0,; + lfdnr c(30) NULL DEFAULT .NULL.,; + linkkey int,; + email CHAR(60) NULL DEFAULT .NULL.,; + subject VARCHAR(254) NULL DEFAULT .NULL.,; && Worst case for next line + TEXT m NULL DEFAULT .NULL.,; + docname c(50) NULL DEFAULT .NULL.,; + versenden l NOT NULL DEFAULT .F.,; + signierung l NOT NULL DEFAULT .F.,; + praefix c(10) NULL DEFAULT .NULL.,; + signdatei VARCHAR(254) NULL DEFAULT .NULL.,; + signiert l NOT NULL DEFAULT .F.,; + ccemail VARCHAR(254) NULL DEFAULT .NULL.,; + datei VARCHAR(254) NULL DEFAULT .NULL.) + + *-- Code Block + CREATE CURSOR c_prf_zeilen (; + lauf I NULL, ; + zeile I NOT NULL, ; + Text C(200) NULL ; + ) + + <> + ENDTEXT + + lnLineas = ALINES( laLineas, lcMethod ) + + *-- Test + loObj.identificarBloquesDeExclusion( @laLineas, lnLineas, , @laPos, @lnPos_Count ) + + THIS.Evaluate_results( @laExpected_Pos, @laPos, lnPos_Count ) + + ENDFUNC + + ENDDEFINE diff --git a/foxbin2prg.exe b/foxbin2prg.exe index 2d962cc..afe3773 100644 Binary files a/foxbin2prg.exe and b/foxbin2prg.exe differ diff --git a/foxbin2prg.pj2 b/foxbin2prg.pj2 index 5538968..eaea165 100644 --- a/foxbin2prg.pj2 +++ b/foxbin2prg.pj2 @@ -23,10 +23,10 @@ _CompanyName = "Fernando D. Bozzo" _FileDescription = "Conversor bidireccional de binarios FoxPro 9 (scx,vcx,pjx) a texto para sustituir al scctext :-)" _LegalCopyright = "Creative Commons 4: Reconocimiento - CompartirIgual (by-sa): http://creativecommons.org/licenses/by/4.0/" _LegalTrademark = "Creative Commons 4: Reconocimiento - CompartirIgual (by-sa): http://creativecommons.org/licenses/by/4.0/" -_ProductName = " FOXBIN2PRG v1.19.23" +_ProductName = " FOXBIN2PRG v1.19.24" _MajorVer = "1" _MinorVer = "19" -_Revision = "23" +_Revision = "24" _LanguageID = "1034" _AutoIncrement = "0" * @@ -91,6 +91,7 @@ WITH loProject.FILES .ADD('props_xmladapter.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> .ADD('props_xmlfield.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> .ADD('props_xmltable.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('readme.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> .ADD('tests\foxunit_path.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> .ADD('tests\ft__foxbin2prg__c_conversor_prg_a_dbc.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> .ADD('tests\ft__foxbin2prg__c_conversor_prg_a_dbf.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> @@ -118,6 +119,7 @@ WITH loProject.FILES * * + .ITEM(lcCurdir + 'readme.txt').Exclude = .T. .ITEM(lcCurdir + 'tests\foxunit_path.txt').Exclude = .T. .ITEM(lcCurdir + 'tests\ft__foxbin2prg__c_conversor_prg_a_dbc.prg').Exclude = .T. .ITEM(lcCurdir + 'tests\ft__foxbin2prg__c_conversor_prg_a_dbf.prg').Exclude = .T. diff --git a/foxbin2prg.pjt b/foxbin2prg.pjt index cf02bca..c88d29b 100644 Binary files a/foxbin2prg.pjt and b/foxbin2prg.pjt differ diff --git a/foxbin2prg.pjx b/foxbin2prg.pjx index 2916fb4..7b335c5 100644 Binary files a/foxbin2prg.pjx and b/foxbin2prg.pjx differ diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 8630553..77fcbdd 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -1,6 +1,7 @@ *--------------------------------------------------------------------------------------------------- * Módulo.........: FOXBIN2PRG.PRG - PARA VISUAL FOXPRO 9.0 * Autor..........: Fernando D. Bozzo (mailto:fdbozzo@gmail.com) - http://fdbozzo.blogspot.com +* Project info...: https://vfpx.codeplex.com/wikipage?title=FoxBin2Prg * Fecha creación.: 04/11/2013 * * LICENCIA: @@ -84,7 +85,9 @@ * 17/04/2014 FDBOZZO v1.19.20 Relativización de directorios de CDX dentro de los DB2 para minimizar diferencias * 29/04/2014 FDBOZZO v1.19.21 Agregada posibilidad de convertir un proyecto entero a tx2 // Optimizaciones en generación según timestamps // AGAIN en aperturas // Simplificación sección PAM * 08/05/2014 FDBOZZO v1.19.22 Arreglo bug vcx/scx: La propiedad Picture de una clase form se pierde y no muestra la imagen -* 27/05/2014 FDBOZZO v1.19.23 Arreglo bugs vcx/scx: Redimensionamiento incorrecto de imagenes en ciertas situaciones (props_image.txt y props_optiongroup.txt actualizados) +* 27/05/2014 FDBOZZO v1.19.23 Arreglo bug vcx/scx: Redimensionamiento incorrecto de imagenes en ciertas situaciones (props_image.txt y props_optiongroup.txt actualizados) +* 09/06/2014 FDBOZZO v1.19.24 Arreglo bug vcx/scx: La falta de AGAIN en algunos comandos USE provoca error de "tabla en uso" si se usa el PRG desde la ventana de comandos +* 14/06/2014 FDBOZZO v1.19.24 Arreglo bug vcx/scx: Un campo de tabla llamado "text" que comienza la línea puede confundirse con la estructura TEXT/ENDTEXT y reconocer mal el resto del código * * *--------------------------------------------------------------------------------------------------- @@ -114,7 +117,9 @@ * 07/05/2014 Fidel Charny REPORTE BUG vcx/scx v1.19.21: La propiedad Picture de una clase form se pierde y no muestra la imagen. No ocurre con la propiedad Picture de los controles (Arreglado en v1.19.22) * 09/05/2014 Miguel Durán REPORTE BUG vcx/scx v1.19.21: Algunas opciones del optiongroup pierden el width cuando se subclasan de una clase con autosize=.T. (Arreglado en v1.19.22) * 13/05/2014 Andrés Mendoza REPORTE BUG vcx/scx v1.19.21: Los métodos que contengan líneas o variables que comiencen con TEXT, provocan que los siguientes métodos queden mal indentados y se dupliquen vacíos (Arreglado en v1.19.22) -* 27/05/2014 Kenny Vermassen REPORTE DE BUG img v1.19.22: La propiedad Stretch no estaba incluida en la lista de propiedades props_image.txt, lo que provocaba un mal redimensionamiento de las imagenes en ciertas situaciones (Arreglado en v1.19.23) +* 27/05/2014 Kenny Vermassen REPORTE DE BUG img v1.19.22: La propiedad Stretch no estaba incluida en la lista de propiedades props_image.txt, lo que provocaba un mal redimensionamiento de las imagenes en ciertas situaciones (Arreglado en v1.19.23) +* 09/06/2014 Matt Slay REPORTE BUG vcx/scx v1.19.23: La falta de AGAIN en algunos comandos USE provoca error de "tabla en uso" si se usa el PRG desde la ventana de comandos (Arreglado en v1.19.24) +* 13/06/2014 Mario Peschke REPORTE BUG vcx/scx v1.19.23: Los campos de tabla con nombre "text" a veces provocan corrupción del binario generado (Arreglado en v1.19.24) * * *--------------------------------------------------------------------------------------------------- @@ -3304,7 +3309,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base EXTERNAL ARRAY ta_ID_Bloques, taBloquesExclusion TRY - LOCAL lnBloques, I, X, lnPrimerID, lnLen_IDFinBQ, lnID_Bloques_Count, lcWord, lnAnidamientos + LOCAL lnBloques, I, X, lnPrimerID, lnLen_IDFinBQ, lnID_Bloques_Count, lcWord, lnAnidamientos, lcLine, lcPrevLine DIMENSION taBloquesExclusion(1,2) STORE 0 TO tnBloquesExclusion, lnPrimerID, I, X, lnLen_IDFinBQ @@ -3340,6 +3345,15 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base ENDFOR IF lnPrimerID > 0 && Se ha identificado un ID de bloque excluyente + IF I > 1 + *-- Analizo la línea anterior para saber si termina con ";" y la actual es continuación + lcPrevLine = taCodeLines(I-1) + .get_SeparatedLineAndComment( @lcPrevLine ) + IF RIGHT( lcPrevLine,1 ) = ';' && Esta línea es continuación de la anterior + LOOP + ENDIF + ENDIF + tnBloquesExclusion = tnBloquesExclusion + 1 lnLen_IDFinBQ = LEN( ta_ID_Bloques(lnPrimerID,2) ) DIMENSION taBloquesExclusion(tnBloquesExclusion,2) @@ -4020,7 +4034,7 @@ DEFINE CLASS c_conversor_prg_a_bin AS c_conversor_base LOCAL lcStructure, lnSelect lnSelect = SELECT() SELECT 0 - USE (THIS.c_InputFile) AGAIN SHARED ALIAS _TABLABIN + USE (THIS.c_InputFile) SHARED AGAIN ALIAS _TABLABIN COPY STRUCTURE EXTENDED TO ( FORCEPATH( '_FRX_STRUC.DBF', ADDBS( SYS(2023) ) ) ) **** CONTINUAR SI ES NECESARIO - SIN USO POR AHORA @@ -9351,7 +9365,7 @@ DEFINE CLASS c_conversor_vcx_a_prg AS c_conversor_bin_a_prg STORE NULL TO loRegClass, loRegObj WITH THIS AS c_conversor_vcx_a_prg OF 'FOXBIN2PRG.PRG' - USE (.c_InputFile) SHARED NOUPDATE ALIAS _TABLAORIG + USE (.c_InputFile) SHARED AGAIN NOUPDATE ALIAS _TABLAORIG SELECT * FROM _TABLAORIG INTO CURSOR TABLABIN USE IN (SELECT("_TABLAORIG")) @@ -9573,7 +9587,7 @@ DEFINE CLASS c_conversor_scx_a_prg AS c_conversor_bin_a_prg STORE NULL TO loRegClass, loRegObj WITH THIS AS c_conversor_scx_a_prg OF 'FOXBIN2PRG.PRG' - USE (.c_InputFile) SHARED NOUPDATE ALIAS _TABLAORIG + USE (.c_InputFile) SHARED AGAIN NOUPDATE ALIAS _TABLAORIG SELECT * FROM _TABLAORIG INTO CURSOR TABLABIN USE IN (SELECT("_TABLAORIG")) @@ -9810,7 +9824,7 @@ DEFINE CLASS c_conversor_pjx_a_prg AS c_conversor_bin_a_prg STORE NULL TO loProject, loReg, loServerHead, loServerData WITH THIS AS c_conversor_pjx_a_prg OF 'FOXBIN2PRG.PRG' - USE (.c_InputFile) SHARED NOUPDATE ALIAS _TABLAORIG + USE (.c_InputFile) SHARED AGAIN NOUPDATE ALIAS _TABLAORIG SELECT * FROM _TABLAORIG INTO CURSOR TABLABIN USE IN (SELECT("_TABLAORIG")) @@ -10536,7 +10550,7 @@ DEFINE CLASS c_conversor_frx_a_prg AS c_conversor_bin_a_prg STORE NULL TO loRegObj, loRegCab, loRegDataEnv, loRegCur WITH THIS AS c_conversor_pjm_a_prg OF 'FOXBIN2PRG.PRG' - USE (.c_InputFile) SHARED NOUPDATE ALIAS _TABLAORIG + USE (.c_InputFile) SHARED AGAIN NOUPDATE ALIAS _TABLAORIG SELECT * FROM _TABLAORIG INTO CURSOR TABLABIN_0 USE IN (SELECT("_TABLAORIG")) @@ -10887,7 +10901,7 @@ DEFINE CLASS c_conversor_mnx_a_prg AS c_conversor_bin_a_prg STORE 0 TO lnCodError WITH THIS AS c_conversor_mnx_a_prg OF 'FOXBIN2PRG.PRG' - USE (.c_InputFile) SHARED NOUPDATE ALIAS _TABLAORIG + USE (.c_InputFile) SHARED AGAIN NOUPDATE ALIAS _TABLAORIG SELECT * FROM _TABLAORIG INTO CURSOR TABLABIN USE IN (SELECT("_TABLAORIG")) @@ -11966,7 +11980,7 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE lcDBF = DBF() SELECT 0 - USE (lcDBF) AGAIN SHARED NOUPDATE ALIAS C_TABLABIN2 + USE (lcDBF) SHARED AGAIN NOUPDATE ALIAS C_TABLABIN2 IF INLIST( tcType, 'Index', 'Field' ) SELECT TB.Property FROM C_TABLABIN2 TB ; @@ -12421,7 +12435,7 @@ DEFINE CLASS CL_DBC_BASE AS CL_CUS_BASE lcDBF = DBF() SELECT 0 - USE (lcDBF) AGAIN SHARED NOUPDATE ALIAS C_TABLABIN2 + USE (lcDBF) SHARED AGAIN NOUPDATE ALIAS C_TABLABIN2 IF INLIST( tcType, 'Index', 'Field' ) SELECT TB.Property FROM C_TABLABIN2 TB ;