diff --git a/FoxBin2PRGVersionFile.txt b/FoxBin2PRGVersionFile.txt index 948fbdd..cceba8b 100644 --- a/FoxBin2PRGVersionFile.txt +++ b/FoxBin2PRGVersionFile.txt @@ -2,8 +2,8 @@ Lparameters toUpdateInfo Local lcNote With toUpdateInfo - .VersionNumber = 'v1.19.43' - .VersionDate = Date(2015,05,10) + .VersionNumber = 'v1.19.44' + .VersionDate = Date(2015,05,16) .SourceFileUrl = 'http://vfpxrepository.com/dl/thorupdate/Projects/FoxBin2Prg/FoxBin2Prg.Zip' .Link = 'http://vfpx.codeplex.com/wikipage?title=FoxBin2PRG' @@ -17,6 +17,10 @@ Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg Change History ------------------------------------------------------------- +2015/05/16 v1.19.44 +- Bug Fix: In certain PCs FoxBin2Prg does not return error codes when called from an external program, so another terminating method is implemented (Ralf Wagner) + + 2015/05/10 v1.19.43 - Feature: Added new CFG setting "RemoveZOrderSetFromProps" for removing ZOrderSet property when you want to maintain the original class ZOrder always, avoid unnecesary differences and fix some visual on top/on bottom control problems (Ryan Harris) - Feature: Do not allow progressbar window become the default output window of ? command (Lutz Scheffler) diff --git a/foxbin2prg.exe b/foxbin2prg.exe index ec7fd27..9e4ffa5 100644 Binary files a/foxbin2prg.exe and b/foxbin2prg.exe differ diff --git a/foxbin2prg.pj2 b/foxbin2prg.pj2 index 1a14ed2..999699b 100644 --- a/foxbin2prg.pj2 +++ b/foxbin2prg.pj2 @@ -26,7 +26,7 @@ _LegalTrademark = "Creative Commons 4: Reconocimiento - CompartirIgual (by-sa): _ProductName = "FOXBIN2PRG" _MajorVer = "1" _MinorVer = "19" -_Revision = "43" +_Revision = "44" _LanguageID = "1034" _AutoIncrement = "0" * diff --git a/foxbin2prg.pjt b/foxbin2prg.pjt index f09ef54..d49e648 100644 Binary files a/foxbin2prg.pjt and b/foxbin2prg.pjt differ diff --git a/foxbin2prg.pjx b/foxbin2prg.pjx index 94552a9..591e025 100644 Binary files a/foxbin2prg.pjx and b/foxbin2prg.pjx differ diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 8d90a0d..bb9e744 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -164,6 +164,7 @@ * 28/04/2015 FDBOZZO v1.19.43 Bug Fix: FoxBin2Prg no retorna códigos de error cuando se llama como programa externo (Ralf Wagner) * 29/04/2015 FDBOZZO v1.19.43 Bug Fix: FoxBin2Prg a veces genera errores OLE cuando se ejecuta más de una vez en modo objeto sobre un archivo con errores (Fidel Charny) * 10/05/2015 FDBOZZO v1.19.43 Bug Fix: Cuando un form tiene AutoCenter=.T., hay veces en que al regenerar el binario y ejecutarlo no se muestra centrado (Esteban H) +* 14/05/2015 FDBOZZO v1.19.43 Bug Fix: En ciertos PCs FoxBin2Prg no retorna códigos de error cuando se llama como programa externo (Ralf Wagner) * * *--------------------------------------------------------------------------------------------------- @@ -248,7 +249,8 @@ * 23/04/2015 Lutz Scheffler Mejora v1.19.42: Hacer que la progressbar no se convierta en la ventana de salida por defecto de los ? (Agregado en v1.19.43) * 28/04/2015 Ralf Wagner Reporte Bug v1.19.42: FoxBin2Prg no retorna códigos de error cuando se llama como programa externo (Arreglado en v1.19.43) * 29/04/2015 Fidel Charny Reporte Bug v1.19.42: FoxBin2Prg a veces genera errores OLE cuando se ejecuta más de una vez en modo objeto sobre un archivo con errores (Arreglado en v1.19.43) -* 10/05/2015 Esteban H Reporte Bug v1.19.42: Cuando un form tiene AutoCenter=.T., hay veces en que al regenerar el binario y ejecutarlo no se muestra centrado (Arreglado en v1.19.43) +* 10/05/2015 Esteban Herrero Reporte Bug v1.19.42: Cuando un form tiene AutoCenter=.T., hay veces en que al regenerar el binario y ejecutarlo no se muestra centrado (Arreglado en v1.19.43) +* 29/04/2015 Ralf Wagner Reporte Bug v1.19.43: En ciertos PCs FoxBin2Prg no retorna códigos de error cuando se llama como programa externo (Arreglado en v1.19.44) * * *--------------------------------------------------------------------------------------------------- @@ -520,7 +522,7 @@ lnResp = loCnv.execute( tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowE ADDPROPERTY(_SCREEN, 'ExitCode', lnResp) *SET COVERAGE TO -IF _VFP.STARTMODE <> 4 && 4 = Visual FoxPro was started as a distributable .app or .exe file. +IF _VFP.STARTMODE <> 4 OR NOT SYS(16) == SYS(16,0) && 4 = Visual FoxPro was started as a distributable .app or .exe file. STORE NULL TO loEx, loCnv RELEASE loEx, loCnv RETURN lnResp && lnResp contiene un código de error, pero invocado desde SourceSafe puede contener el tipo de soporte de archivo (0,1,2). @@ -536,9 +538,23 @@ STORE NULL TO loEx, loCnv RELEASE loEx, loCnv *-- Muy útil para procesos batch que capturan el código de error -DECLARE ExitProcess IN Win32API INTEGER ExitCode && To read returned error code with ERRORLEVEL from Windows -ExitProcess(1) && Esta debe ser de las últimas instrucciones -QUIT +*KillMode 1 +*DECLARE ExitProcess IN Win32API INTEGER ExitCode && To read returned error code with ERRORLEVEL from Windows +*ExitProcess(1) && Esta debe ser de las últimas instrucciones + +*KillMode 2 - This one works better. +DECLARE INTEGER OpenProcess IN Win32API INTEGER dwDesiredAccess, INTEGER bInheritHandle, INTEGER dwProcessID +lnHandle = OpenProcess(1, 1, _VFP.PROCESSID) +DECLARE INTEGER TerminateProcess IN Win32API INTEGER hProcess, INTEGER uExitCode +=TerminateProcess(lnHandle,1) + +*KillMode 3 +*lcComputer = [.] +*loCIMV2 = GETOBJECT( [winmgmts:{impersonationLevel=impersonate}!\\] + lcComputer + [\root\cimv2] ) +*loProcCols = loCIMV2.ExecQuery( [select * from Win32_Process where processid=] + TRANSFORM(_VFP.PROCESSID) + [] ) +*loCIMV2 = NULL +*loProcCols.ItemIndex(0).TERMINATE(1) + @@ -829,6 +845,12 @@ DEFINE CLASS c_foxbin2prg AS Session THIS.writeLog( ) THIS.writeLog_Flush() THIS.unloadProgressbarForm() + THIS.o_Configuration = NULL + THIS.o_WSH = NULL + THIS.o_FSO = NULL + IF VARTYPE(_SCREEN.o_FoxBin2Prg_Lang) = "O" THEN + _SCREEN.o_FoxBin2Prg_Lang = NULL + ENDIF CATCH FINALLY