Hola. Estoy trabajando con un desarrollo en fivewin. Hago backup una vez por semana, y me tocaba hacerlo mañana, asi que el anterior es del jueves pasado. Hoy cuando edito el .prg, veo que dentro tiene simbolor raros:
0001:00019DE7 _HB_FUN_TBSETTEXT
0001:00019E4A _HB_FUN_TBADDMENU
0001:00019ED2 _HB_FUN_TBADDSEPARATOR
0001:00019F24 _HB_FUN_TTNSETTEXT
0001:00019F66 _HB_FUN_TBENABLEBUTTON
0001:00019FA2 _HB_FUN_TBGETRECT
0001:0001A482 _HB_FUN_BARINVERT
0003:0000321C b3250_2
0003:00003220 ___pCPPdebugHook
0004:00000000 ___xxInfo
0004:00000000 t1919_3
COSTOS->CANREA := BASES->CONS_ENE*BASE->CANTID
COSTOS->VALREA := (((COSTOS->CANREA*COSTOS->PRECIO)/60*XBASE2)/XCAP2)*(PLACA->PESO_BRUTO/COMUN->PIEXMOL)
COSTOS->SECTOR := BASES->SECTOR
COSTOS->TIPO := INSUMOS->TIPO
Estimo que puede ser un error de disco. ¿tienen idea si puedo pasar del .obj, o del .exe, o del .c, al prg de nuevo? con algun "descompilador" o algo asi... porque en esta semana hice _ y volver a hacerlos es un garrón. ¿alguna idea?
Gracias. Atte.
PRG corrupto
Re: PRG corrupto
Diego,
Hoy dia no hay herramienta, que yo sepa, para decompilar .obj de (x)Harbour.
Solucion alternativa: busca que tengas un .bak o incluso un .ppo de cuando hiciste el tema.
Yo siempre genero los .ppo: los HD son enormes y la rapidez de compilacion tambien.
Saludos
Hoy dia no hay herramienta, que yo sepa, para decompilar .obj de (x)Harbour.
Solucion alternativa: busca que tengas un .bak o incluso un .ppo de cuando hiciste el tema.
Yo siempre genero los .ppo: los HD son enormes y la rapidez de compilacion tambien.
Saludos
-
- Posts: 149
- Joined: Thu Jun 21, 2007 3:26 pm
Re: PRG corrupto
y que hago con los .ppo???
Re: PRG corrupto
Diego,
Coge los trozos del .ppo que no tienen tu fuente restaurado desde copia de seguridad que asumo que tienes. Transforma a condigo compilable los fragmentos del .ppo que no sean compilables.
Saludos
Coge los trozos del .ppo que no tienen tu fuente restaurado desde copia de seguridad que asumo que tienes. Transforma a condigo compilable los fragmentos del .ppo que no sean compilables.
Saludos
- FranciscoA
- Posts: 1964
- Joined: Fri Jul 18, 2008 1:24 am
- Location: Chinandega, Nicaragua, C.A.
Re: PRG corrupto
Diego,
El siguiente es un trozo de un fichero .ppo. Te lo muestro para que veas que puedes recuperar tu prg corrupto, si usaste en su momento la opcion /p de tu compilador (en mi caso Pellesc), y por supuesto, si tienes respaldo.
Como puedes observar, tu código se convierte a código nativo de las funciones. Cuando tuve necesidad de actualizar algún antiguo programa en Clipper, utilicé mucho estos .ppo. Recuerdo que una vez tomé muchas funciones completas, tal como estaban en el .ppo, y las compilé normalmente.
Saludos.
El siguiente es un trozo de un fichero .ppo. Te lo muestro para que veas que puedes recuperar tu prg corrupto, si usaste en su momento la opcion /p de tu compilador (en mi caso Pellesc), y por supuesto, si tienes respaldo.
Como puedes observar, tu código se convierte a código nativo de las funciones. Cuando tuve necesidad de actualizar algún antiguo programa en Clipper, utilicé mucho estos .ppo. Recuerdo que una vez tomé muchas funciones completas, tal como estaban en el .ppo, y las compilé normalmente.
Code: Select all
Function ImpRDefMult(dFecha,oGopDefi)
LOCAL oFont1, oFont2, oFont3, oPen1, oPen2, oReport, oPrn
local Fecha, nCancelar,oControl
oControl:=oServer:Query("SELECT * FROM control ;")
Fecha := "PERIODO "+ Fechador(oControl:Pfisc1,dFecha)
oGopDefi:GOTOP()
nCancelar:=PrinterSetup(oPrn)
if nCancelar=0
return nil
endif
oFont1 := TFont():New( "ARIAL", 0, -09,,,,,,,,,,,,,, )
oFont2 := TFont():New( "ARIAL", 0, -09,, .T.,,,,,,,,,,,, )
oFont3 := TFont():New( "ARIAL", 0, -12,, .T.,,,,,,,,,,,, )
oPen1 := TPen():New(, 1,, )
oPen2 := TPen():New(, 1,, )
oReport := RptBegin({{|| " "}, {||" "}, {||IF(!SHAREWARE, "FRANCISCO J. ALEGRIA P.","EMPRESARIOS ORGANIZADOS")}, {||IF(!SHAREWARE, "FAPSOFTWARE","WINCONT-FAPSOFTWARE-DEMO")}, {|| "ESTADO DE RESULTADOS"}, {|| Fecha}, {|| ""}}, {{|| OemtoAnsi("Pag: ")+str(oReport:nPage,3)}}, {{|| space(30)+ocontrol:firma1+space(60)+ocontrol:firma2}, {|| space(30)+ocontrol:cargo1+Space(60)+ocontrol:cargo2}, {|| " "}, {||" "}, {||" "}}, {oFont1, oFont2, oFont3}, {oPen1, oPen2}, .F.,,,, .T.,,, "ResuDef "+Fecha,, UPPER("RIGHT"), UPPER("CENTERED") )
RptAddColumn( {{|| " D E S C R I P C I O N"}}, , {{|| IF(!oGOPDEFI:TP1="IR",oGOPDEFI:NOMBRE1, ALLTRIM(oGOPDEFI:NOMBRE1)+" "+ALLTRIM(STR(oCONTROL:PISR))+" %")}}, 40, {} , {|| if(empty(oGOPDEFI:cta1) .OR. oGOPDEFI:cta1="****",2,1)}, .F., ,, .F., .T., 2, .F., .F.,,, .F., )
RptAddColumn( {{|| "SALDO ANTER "}}, , {{|| oGOPDEFI:MES_ANT1}}, 14, {"@Z) 9,999,999,999.99"} , {|| if(empty(oGOPDEFI:cta1) .OR. oGOPDEFI:cta1="****",2,1)}, .F., ,, .F., .T., 2, .F., .F.,,, .F., )
RptAddColumn( {{|| "MES ACTUAL "}}, , {{|| oGOPDEFI:ESTE_MES1}}, 14, {"@Z) 9,999,999,999.99"} , {|| if(empty(oGOPDEFI:cta1) .OR. oGOPDEFI:cta1="****",2,1)}, .F., ,, .F., .T., 2, .F., .F.,,, .F., )
RptAddColumn( {{|| " ACUMULADO "}}, , {{|| oGOPDEFI:ACUMULAD1}}, 14, {"@Z) 9,999,999,999.99"} , {|| if(empty(oGOPDEFI:cta1) .OR. oGOPDEFI:cta1="****",2,1)}, .F., ,, .F., .T., 2, .F., .F.,,, .F., )
RptAddColumn( {{|| "% "}}, , {{|| oGOPDEFI:PORC1}}, 6, {"@Z) 999,999.99"} , {|| if(empty(oGOPDEFI:cta1) .OR. oGOPDEFI:cta1="****",2,1)}, .F., ,, .F., .T., 2, .F., .F.,,, .F., )
RptEnd()
IF oReport:lCreated
oReport:oTitle:aFont[3] := {|| 3 }
oReport:oTitle:aFont[4] := {|| 3 }
oReport:oTitle:aFont[5] := {|| 3 }
oReport:oTitle:aFont[6] := {|| 3 }
oReport:nTitleUpLine := 1
oReport:nTitleDnLine := 1
oReport:nTotalLine := 1
oReport:bEndPage:= {||oReport:lPageTotal:=.F., oReport:TotalLine(oReport:nGroupLine, 0)}
ENDIF
oReport:bPreInit := {|| oGopDefi:GoTop() }
oReport:bSkip := {|| oGopDefi:Skip() }
oReport:Activate(, {|| !oGopDefi:eof()},,, {|| IconsEmp(oReport,"IcoEmpre.BMP")},, {|oGrp|oReport:NewLine()},,,,,,, )
oControl:End()
oFont1:End()
oFont2:End()
oFont3:End()
oPen1:End()
oPen2:End()
PrnPortrait()
PrnSetSize(2100,2790)
RETURN NIL
Francisco J. Alegría P.
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql