From 87ea05b86471cb6e0005829409a59d299af3671a Mon Sep 17 00:00:00 2001 From: fdbozzo Date: Fri, 29 Aug 2014 12:48:40 +0200 Subject: [PATCH] =?UTF-8?q?Changeset:=20432=20fdbozzo=20-=2029/08/2014=200?= =?UTF-8?q?0:44:37:=20-=20Arreglo=20Bug=20mnx:=20Si=20una=20opci=C3=B3n=20?= =?UTF-8?q?tiene=20asociado=20un=20Procedure=20de=201=20l=C3=ADnea,=20no?= =?UTF-8?q?=20se=20mantiene=20como=20Procedure=20y=20se=20convierte=20a=20?= =?UTF-8?q?Command=20(Peter=20Hipp)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- foxbin2prg.prg | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/foxbin2prg.prg b/foxbin2prg.prg index c6dd027..20b5080 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -101,8 +101,8 @@ * 17/08/2014 FDBOZZO v1.19.31 Agregada versión del EXE cuando se genera LOG de depuració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ón * 20/08/2014 FDBOZZO v1.19.31 Mejora: Ajuste de capitalización de los archivos origen, así 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) -* 27/08/2014 FDBOZZO v1.19.33 Arreglo bug mnx v1.19.32: Si se crea un menú con una opción de tipo #Bar vacía, el menú se genera mal (ph42) +* 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 (Peter Hipp) +* 27/08/2014 FDBOZZO v1.19.33 Arreglo bug mnx v1.19.32: Si se crea un menú con una opción de tipo #Bar vacía, el menú se genera mal (Peter Hipp) * * *--------------------------------------------------------------------------------------------------- @@ -144,8 +144,8 @@ * 29/07/2014 M_N_M REPORTE BUG vcx/scx v1.19.28: Los campos de tabla con nombre "text" a veces provocan corrupció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ón (Arreglado en v1.19.30) * 08/08/2014 Ryan Harris REPORTE BUG vcx/scx 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/scx v1.19.31: Una propiedad llamada "text" es confundida con la estructura text/endtext (solucionado en v1.19.32) -* 27/08/2014 ph42 REPORTE BUG bug mnx v1.19.32: Si se crea un menú con una opción de tipo #Bar vacía, el menú se genera mal (solucionado en v1.19.33) +* 25/08/2014 Peter Hipp REPORTE BUG bug vcx/scx v1.19.31: Una propiedad llamada "text" es confundida con la estructura text/endtext (solucionado en v1.19.32) +* 27/08/2014 Peter Hipp REPORTE BUG bug mnx v1.19.32: Si se crea un menú con una opción de tipo #Bar vacía, el menú se genera mal (solucionado en v1.19.33) * * *--------------------------------------------------------------------------------------------------- @@ -332,7 +332,7 @@ LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDeb *-- Menu OBJTYPE constants #DEFINE C_OBJTYPE_MENUTYPE_DEFAULT 1 -#DEFINE C_OBJTYPE_MENUTYPE_BARorPOPUP 2 +#DEFINE C_OBJTYPE_MENUTYPE_BARorPOPUP 2 #DEFINE C_OBJTYPE_MENUTYPE_OPTION 3 #DEFINE C_OBJTYPE_MENUTYPE_SHORTCUT 4 #DEFINE C_OBJTYPE_MENUTYPE_MENUBARONTOP 5 @@ -17543,11 +17543,12 @@ DEFINE CLASS CL_MENU_COL_BASE AS CL_COL_BASE * tcSourceCode (@? IN ) Si se indica, se buscará el nombre de Procedure para obtener su código * tnIndentation (v? IN ) En caso de devolver código, indica si se debe indentar o quitar indentación * tlAddProcEndproc (v? IN ) En caso de devolver código, indica si se debe encerrar con PROCEDURE/ENDPROC + * tlForceProcedure (v? IN ) Indica que se evalúe como Procedure, no como Command *--------------------------------------------------------------------------------------------------- * DETALLE: Los menus guardan en los primeros registros los Comandos o Procedimientos en el campo PROCEDURE, * y luego al generar el código lo muestran como Comando si es una sola línea, y si no como Procedure. *--------------------------------------------------------------------------------------------------- - LPARAMETERS tcExpr, tcProcName, tcProcCode, tcSourceCode, tnIndentation, tlAddProcEndproc + LPARAMETERS tcExpr, tcProcName, tcProcCode, tcSourceCode, tnIndentation, tlAddProcEndproc, tlForceProcedure LOCAL laProcLines(1), lnLine_Count, I tcProcName = '' @@ -17555,7 +17556,7 @@ DEFINE CLASS CL_MENU_COL_BASE AS CL_COL_BASE tnIndentation = EVL(tnIndentation,0) lnLine_Count = ALINES( laProcLines, tcExpr ) - IF lnLine_Count > 1 + IF lnLine_Count > 1 OR tlForceProcedure *-- ES UN PROCEDIMIENTO tcProcCode = tcExpr @@ -18151,7 +18152,7 @@ DEFINE CLASS CL_MENU AS CL_MENU_COL_BASE DO CASE CASE loHeader.ObjType = C_OBJTYPE_MENUTYPE_DEFAULT OR loHeader.ObjType = C_OBJTYPE_MENUTYPE_MENUBARONTOP - *-- Propecimiento principal de _MSYSMENU (ObjType:1, ObjCode:22) + *-- Propecimiento principal de _MSYSMENU (ObjType:1, ObjCode:22) (C_OBJTYPE_MENUTYPE_DEFAULT, C_OBJCODE_MENUDEFAULT_DEFAULT) IF NOT EMPTY(loHeader.PROCEDURE) lcExpr = loHeader.PROCEDURE .AnalizarSiExpresionEsComandoOProcedimiento( lcExpr, @lcProcName, @lcProcCode, '', 1, .T. ) @@ -19143,7 +19144,7 @@ DEFINE CLASS CL_MENU_OPTION AS CL_MENU_COL_BASE IF loReg.OBJCODE = C_OBJCODE_MENUOPTION_PROCEDURE && Procedure de BAR o PAD *-- Reemplazo el nombre definitivo lcExpr = loReg.PROCEDURE - .AnalizarSiExpresionEsComandoOProcedimiento( lcExpr, @lcProcName, @lcProcCode, '', 1, .T. ) + .AnalizarSiExpresionEsComandoOProcedimiento( lcExpr, @lcProcName, @lcProcCode, '', 1, .T., .T. ) IF EMPTY(lcProcCode) *-- Comando