diff --git a/FoxBin2PRGVersionFile.txt b/FoxBin2PRGVersionFile.txt index d9b83cd..82d2923 100644 --- a/FoxBin2PRGVersionFile.txt +++ b/FoxBin2PRGVersionFile.txt @@ -2,8 +2,8 @@ Lparameters toUpdateInfo Local lcNote With toUpdateInfo - .VersionNumber = 'v1.19.51' - .VersionDate = Date(2018,07,13) + .VersionNumber = 'v1.19.51.5' + .VersionDate = Date(2019,02,24) .SourceFileUrl = 'http://vfpxrepository.com/dl/thorupdate/Projects/FoxBin2Prg/FoxBin2Prg.Zip' .Link = 'https://github.com/fdbozzo/foxbin2prg/wiki' @@ -21,6 +21,9 @@ Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg Change History ------------------------------------------------------------- +2019-02-24 v1.19.51.5 +- Enhancement: Make FoxBin2Prg more COM friendly when using ESC key (Tracy Pearson) + 2018-07-13 v1.19.51.4 - Bug Fix: The alphabetic ordering of ADD OBJECT's objects can cause that some objects be created in erroneous order, causing unexpected behavior (Jochen Kauz) [https://github.com/fdbozzo/foxbin2prg/issues/28] - NOTE: This Bug Fix implies that when tx2 files are regenerated, differences will occur almost certainly for the first time, so do not regenerate all tx2 files unnecesarily to keep differences at minimum. diff --git a/ThorUpdater/CreateThorUpdate.ps1 b/ThorUpdater/CreateThorUpdate.ps1 index 28f6b5b..202b382 100644 --- a/ThorUpdater/CreateThorUpdate.ps1 +++ b/ThorUpdater/CreateThorUpdate.ps1 @@ -54,10 +54,10 @@ try # Read in the update file $date = Get-Date $file = $appID + 'Version.txt' - (Get-Content ThorUpdater\Version.txt). - Replace('date()', 'date(' + $date.Year + ',' + $date.Month + ',' + $date.Day + ')'). - Replace('APPNAME', $appName). - Replace('MAJORVERSION', $majorVersion) | + (Get-Content ThorUpdater\Version.txt) + .Replace('date()', 'date(' + $date.Year + ',' + $date.Month + ',' + $date.Day + ')') + .Replace('APPNAME', $appName) + .Replace('MAJORVERSION', $majorVersion) | Set-Content ThorUpdater\$file Write-Host "Update creation successful" } diff --git a/ThorUpdater/Project.txt b/ThorUpdater/Project.txt index accc73a..d36b413 100644 --- a/ThorUpdater/Project.txt +++ b/ThorUpdater/Project.txt @@ -1,5 +1,5 @@ appName = FoxBin2Prg appID = FoxBin2Prg -majorVersion = 1.19.51.4 +majorVersion = 1.19.51.5 excludeFiles = *.bak,*.bat,*.fxp,*.tbk,*.tmp,*.dat,*.log,*.cvp,README.md,.gitignore,*.zip*,*.7z*,*- copia.*,*.private.*,test_*.*,xx*.*,*.lnk,vfp_init.*,tmp*.*,*.err, *.conflict.*, *.private.* excludeFolders = *.plastic*,*ThorUpdater*,*Documentacion*,*foxunit*,*foxunit_*,*pruebas varias*,*versiones*,*datos_test* diff --git a/foxbin2prg.exe b/foxbin2prg.exe index 947967b..148c207 100644 Binary files a/foxbin2prg.exe and b/foxbin2prg.exe differ diff --git a/foxbin2prg.pj2 b/foxbin2prg.pj2 index 0671139..2b1d74c 100644 --- a/foxbin2prg.pj2 +++ b/foxbin2prg.pj2 @@ -33,7 +33,7 @@ _AutoIncrement = "0" * -*<.HomeDir = 'g:\desa\foxbin2prg' /> +*<.HomeDir = 'h:\desa\foxbin2prg' /> FOR EACH loProject IN _VFP.Projects FOXOBJECT loProject.Close() @@ -50,49 +50,49 @@ MODIFY PROJECT 'foxbin2prg.pjx' NOWAIT NOSHOW NOPROJECTHOOK loProject = _VFP.Projects('foxbin2prg.pjx') WITH loProject.FILES - .ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('foxbin2prg.ico') && *< FileMetadata: Type="x" Cpid="0" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('foxbin2prg.jpg') && *< FileMetadata: Type="x" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" User="" /> - .ADD('props_all.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_checkbox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_collection.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_combobox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_commandbutton.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_commandgroup.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_container.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_control.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_cursor.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_cursoradapter.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_dataenvironment.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_editbox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_form.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_formset.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_grid.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_grid_column.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_grid_header.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_hyperlink.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_image.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_label.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_line.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_listbox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_olebound.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_optiongroup.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_optiongroup_option.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_pageframe.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_pageframe_page.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_projecthook.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_relation.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_reportlistener.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_separator.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_shape.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_spinner.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_textbox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_timer.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_toolbar.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_xmladapter.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_xmlfield.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> - .ADD('props_xmltable.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" /> + .ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('foxbin2prg.ico') && *< FileMetadata: Type="x" Cpid="0" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('foxbin2prg.jpg') && *< FileMetadata: Type="x" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('foxbin2prg.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" /> + .ADD('props_all.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_checkbox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_collection.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_combobox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_commandbutton.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_commandgroup.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_container.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_control.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_cursor.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_cursoradapter.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_dataenvironment.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_editbox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_form.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_formset.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_grid.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_grid_column.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_grid_header.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_hyperlink.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_image.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_label.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_line.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_listbox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_olebound.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_optiongroup.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_optiongroup_option.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_pageframe.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_pageframe_page.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_projecthook.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_relation.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_reportlistener.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_separator.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_shape.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_spinner.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_textbox.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_timer.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .ADD('props_toolbar.txt') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" /> + .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" /> * .ITEM('__newproject.f2b').Remove() @@ -119,7 +119,6 @@ WITH loProject *<.CmntStyle = 1 /> *<.NoLogo = .F. /> *<.SaveCode = .T. /> - *<.User = '' /> .ProjectHookLibrary = '' .ProjectHookClass = '' * diff --git a/foxbin2prg.pjt b/foxbin2prg.pjt index d6fc57b..f62b4e4 100644 Binary files a/foxbin2prg.pjt and b/foxbin2prg.pjt differ diff --git a/foxbin2prg.pjx b/foxbin2prg.pjx index e39207f..7daa312 100644 Binary files a/foxbin2prg.pjx and b/foxbin2prg.pjx differ diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 2a4c0c1..7cd9ca7 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -1,8 +1,8 @@ *--------------------------------------------------------------------------------------------------- -* Módulo.........: FOXBIN2PRG.PRG - PARA VISUAL FOXPRO 9.0 -* Autor..........: Fernando D. Bozzo (mailto:fdbozzo@gmail.com) - http://fdbozzo.blogspot.com +* Module.........: FOXBIN2PRG.PRG - FOR VISUAL FOXPRO 9.0 +* Author.........: 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 +* Creation Date..: 2013/11/04 * * LICENCE: * This work is licensed under the Creative Commons Attribution 4.0 International License. @@ -219,6 +219,7 @@ * 20/06/2018 FDBOZZO v1.19.51.2 Bug Fix: Cuando se exporta un DBF que pertenece a un DBC sin eventos, falla (Jairo Argüelles/Juan C.Perdomo) * 09/07/2018 FDBOZZO v1.19.51.3 Bug Fix: Error 1098, Cannot find ... [ENDT] that closes ... [TEXT] Issue#26 when there is a field named TEXT as first line-word (KIRIDES) * 10/07/2018 FDBOZZO v1.19.51.4 Bug Fix: El ordenamiento alfabético de los objetos de los ADD OBJECT puede causar que algunos objetos se creen en el orden erróneo, provocando comportamientos inesperados (Jochen Kauz) +* 14/02/2019 TRACY_P v1.19.51.5 Enhancement: Make FoxBin2Prg more COM friendly when using ESC key (Tracy Pearson) * * *--------------------------------------------------------------------------------------------------- @@ -2888,6 +2889,7 @@ DEFINE CLASS c_foxbin2prg AS Session lcInputFile_Type = '' .l_Error = .F. tcType = UPPER( EVL(tcType,'') ) + llEscKeyRestored = .T. .declareDLL() IF THIS.l_CancelWithEscKey THEN @@ -2895,6 +2897,7 @@ DEFINE CLASS c_foxbin2prg AS Session lcOldOnEscape = ON("Escape") ON ESCAPE ERROR 1799 SET ESCAPE ON + llEscKeyRestored = .F. ENDIF DO CASE @@ -3441,7 +3444,7 @@ DEFINE CLASS c_foxbin2prg AS Session ENDWITH && THIS CATCH TO toEx - IF THIS.l_CancelWithEscKey THEN + IF NOT llEscKeyRestored AND THIS.l_CancelWithEscKey THEN IF EMPTY(lcOldOnEscape) ON ESCAPE ELSE @@ -3504,6 +3507,7 @@ DEFINE CLASS c_foxbin2prg AS Session ELSE SET ESCAPE &lcOldSetEscape. ENDIF + llEscKeyRestored = .T. ENDIF IF VARTYPE(loLang) <> 'O' THEN @@ -6497,8 +6501,8 @@ DEFINE CLASS c_conversor_base AS Custom CASE NOT lcWord == 'TEXT' EXIT - *CASE UPPER( LEFT( CHRTRAN( lcLine, ' ', '' ), 5 ) ) == 'TEXT=' - * EXIT + *CASE UPPER( LEFT( CHRTRAN( lcLine, ' ', '' ), 5 ) ) == 'TEXT=' + * EXIT CASE lnWordCount >= 2 IF lcWord2 == "TO" * OK, es TEXT TO... @@ -7575,8 +7579,8 @@ DEFINE CLASS c_conversor_base AS Custom * VER: https://github.com/fdbozzo/foxbin2prg/issues/28 * * PASO 1: Obtener los nombres únicos y asignarles un código de orden - CREATE CURSOR C_OBJ (objName C(50), iOrder I AUTOINC) - INDEX ON objname TAG objname + CREATE CURSOR C_OBJ (OBJNAME C(50), IORDER I AUTOINC) + INDEX ON OBJNAME TAG OBJNAME * PASO 2: Configurar las prioridades de ordenamiento (primero props, luego objs) FOR I = 1 TO m.tnPropsAndValues_Count @@ -7584,29 +7588,29 @@ DEFINE CLASS c_conversor_base AS Custom IF m.tnSortType = 2 * Genera obj+props para BIN lcObjName = GETWORDNUM(laPropsAndValues(m.I,1), 1, '.') - + IF NOT SEEK(LOWER(lcObjName), "C_OBJ") - INSERT INTO C_OBJ (objName) VALUES (LOWER(lcObjName)) + INSERT INTO C_OBJ (OBJNAME) VALUES (LOWER(lcObjName)) ENDIF - - laPropsAndValues(m.I,1) = 'B' + PADL(C_OBJ.iOrder,3,'0') ; + + laPropsAndValues(m.I,1) = 'B' + PADL(C_OBJ.IORDER,3,'0') ; + JUSTSTEM(laPropsAndValues(m.I,1)) + '.' ; + .sortPropsAndValues_SetAndGetSCXPropNames( 'SETNAME', JUSTEXT(laPropsAndValues(m.I,1)) ) - + *laPropsAndValues(m.I,1) = 'B000' + lcObjName + '.' ; - + .sortPropsAndValues_SetAndGetSCXPropNames( 'SETNAME', JUSTEXT(laPropsAndValues(m.I,1)) ) + + .sortPropsAndValues_SetAndGetSCXPropNames( 'SETNAME', JUSTEXT(laPropsAndValues(m.I,1)) ) ELSE * Genera obj+props para TX2 lcObjName = GETWORDNUM(laPropsAndValues(m.I,1), 1, '.') - + IF NOT SEEK(LOWER(lcObjName), "C_OBJ") - INSERT INTO C_OBJ (objName) VALUES (LOWER(lcObjName)) + INSERT INTO C_OBJ (OBJNAME) VALUES (LOWER(lcObjName)) ENDIF - - laPropsAndValues(m.I,1) = 'B' + PADL(C_OBJ.iOrder,3,'0') ; + + laPropsAndValues(m.I,1) = 'B' + PADL(C_OBJ.IORDER,3,'0') ; + JUSTSTEM(laPropsAndValues(m.I,1)) + '.' ; + JUSTEXT(laPropsAndValues(m.I,1)) - + *laPropsAndValues(m.I,1) = 'B' + PADL(I,3,'0') + laPropsAndValues(m.I,1) ENDIF ELSE @@ -17510,7 +17514,7 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg IF NOT EMPTY(lc_DBC_Name) AND ADIR(laDirInfo, FULLPATH(lc_DBC_Name, .c_InputFile)) = 1 loDBC._DBC = FULLPATH(lc_DBC_Name, .c_InputFile) llDBCEventsEnabled = loDBC.DBGETPROP(lc_DBC_Name,"DATABASE","DBCEvents") - + * llDBCEventsEnabled no siempre devuelve .T./.F., a veces devuelve "" IF EMPTY(llDBCEventsEnabled) llDBCEventsEnabled = .F. @@ -21957,7 +21961,7 @@ DEFINE CLASS CL_DBC_FIELDS_DB AS CL_DBC_COL_BASE STORE NULL TO loField STORE 0 TO I, lnField_Count _TALLY = 0 - + SELECT LOWER(TB.ObjectName) FROM TABLABIN TB ; INNER JOIN TABLABIN TB2 ON STR(TB.ParentId)+TB.ObjectType = STR(TB2.ObjectID)+PADR('Field',10) ; AND LOWER(TB2.ObjectName) = PADR(LOWER(tcTable),128) ; @@ -22701,12 +22705,12 @@ DEFINE CLASS CL_DBC_VIEWS AS CL_DBC_COL_BASE *LG lnView_Count = ADBOBJECTS( laViews, "VIEW" ) SELECT CAST(ALLTRIM(ObjectName) as varchar(128)) ; - FROM TablaBin ; + FROM TABLABIN ; WHERE UPPER(ObjectType) = 'VIEW' ; ORDER BY 1 ; INTO ARRAY laViews lnView_Count = _TALLY - + IF lnView_Count > 0 FOR I = 1 TO lnView_Count loView = CREATEOBJECT("CL_DBC_VIEW") @@ -30262,7 +30266,7 @@ DEFINE CLASS CL_MEMVAR AS CL_COL_BASE * Byte Offset Description * ----------- ------------------------------------------------------------------------------------------------- * 0 - 10 NULL terminated VarName. If VarName is empty, then VarName starts at offset 32 - * 11 VarType (A,C,N,Y,B,F,I,Q,D,T,L,0). If VarType is lowercase, then next VarName + * 11 VarType (A,C,N,Y,B,F,I,Q,D,T,L,0). If VarType is lowercase, then next VarName * begins with 2 bytes for VarName length. * 12 - 15 Reserved * 16 Value length @@ -30270,7 +30274,7 @@ DEFINE CLASS CL_MEMVAR AS CL_COL_BASE * 18 - 24 Reserved * 25 0x00 if it is an array element, 0x03 if it isn't an array element * 26 - 31 Reserved - * 32 - n If VarName (offset 0-10) is NULL then goto TABLE 1, If VarType=A then continue in TABLE 2, + * 32 - n If VarName (offset 0-10) is NULL then goto TABLE 1, If VarType=A then continue in TABLE 2, * if VarType=0 then continue in TABLE 3, else continue in TABLE 4 * ... * eof Last character is EOF (0x1A) character @@ -30282,7 +30286,7 @@ DEFINE CLASS CL_MEMVAR AS CL_COL_BASE * ----------- ------------------------------------------------------------------------------------------------- * 32 - 33 VarName length * 34 - n VarName - * n + 1 Next TABLE: If VarType=A then continue in TABLE 2, if VarType=0 then continue in TABLE 3, + * n + 1 Next TABLE: If VarType=A then continue in TABLE 2, if VarType=0 then continue in TABLE 3, * else continue in TABLE 4 * ----------- ------------------------------------------------------------------------------------------------- @@ -30307,7 +30311,7 @@ DEFINE CLASS CL_MEMVAR AS CL_COL_BASE * TABLE 4 - NORMAL VALUE STRUCTURE * Byte Offset Description * ----------- ------------------------------------------------------------------------------------------------- - * n - x Value of length "value length". If ValTye is a Char type then Value length is the value's width, + * n - x Value of length "value length". If ValTye is a Char type then Value length is the value's width, * else the width is 8 for numbers and dates * x Next Variable structure, or EOF (0x1A) * ----------- -------------------------------------------------------------------------------------------------