Page 1 of 1

Arreglo importante!

Posted: Fri Oct 20, 2006 9:16 am
by Antonio Linares
Por favor añadir este código al PRG principal de vuestra aplicación:

Code: Select all

#pragma BEGINDUMP

#include <hbapi.h>
#include <windows.h>

LPSTR WideToAnsi( LPWSTR );

HB_FUNC( GETWINDOWTEXT )
{
   HWND hWnd = ( HWND ) hb_parnl( 1 );
   int iLen = GetWindowTextLength( hWnd );
   LPWSTR pText = ( LPWSTR ) hb_xgrab( ( iLen * 2 ) + 2 );
   LPSTR pAnsi;
   
   GetWindowText( hWnd, pText, iLen + 1 );
   
   pAnsi = WideToAnsi( pText );
   hb_retc( pAnsi );
   hb_xfree( pAnsi );
   hb_xfree( pText );
}	

#pragma ENDDUMP 

Posted: Fri Oct 20, 2006 9:30 am
by Carles
Antonio,

Q reporta este arreglo ? (tema de perdida de memoria ?)

Gracias.

Posted: Fri Oct 20, 2006 10:28 am
by Antonio Linares
Carles,

Se estaba corrompiendo la memoria! :shock: y Harbour no podía liberarla luego. Ahora esta correcto.

De todas formas vamos a publicar en breve un nuevo build en el que se ha hecho una revisión a fondo del consumo de memoria.

Posted: Fri Oct 20, 2006 1:46 pm
by wilsongamboa
Antonio
tengo Fwppc con las librerias de estas fechas

Fivece.lib 01/09/2006
fivecec.lib 30/08/2006

el parche que publicas me aplicaria a la version que yo tengo ?
Saludos

Att

Posted: Sat Oct 21, 2006 6:09 pm
by Antonio Linares
Wilson,

Sí, tienes que incluirlo.

Posted: Mon Oct 23, 2006 5:12 pm
by luis.santeliz
Me dio problemas al compilar.. sera q estoy haciendo algo mal? :shock: (recien termine de instalar la actualizacion de fwppc)


Compiling...
Harbour Compiler Alpha build 45.0 (Flex)
Copyright 1999-2005, http://www.harbour-project.org/
Compiling 'PRUEBA2.prg' and generating preprocessed output to 'PRUEBA2.ppo'...

Lines 179, Functions/Procedures 4
Generating C source output to 'PRUEBA2.c'... Done.
PRUEBA2.c
Microsoft (R) Incremental Linker Version 6.24.3077
Copyright (C) Microsoft Corporation. All rights reserved.

PRUEBA2.obj
c:\fwppc\lib\FiveCE.lib c:\fwppc\lib\FiveCEC.lib
c:\harbour_CE\lib\rtl.lib
c:\harbour_CE\lib\vm.lib
c:\harbour_CE\lib\gtwin.lib
c:\harbour_CE\lib\lang.lib
c:\harbour_CE\lib\macro.lib
c:\harbour_CE\lib\rdd.lib
c:\harbour_CE\lib\dbfntx.lib
c:\harbour_CE\lib\dbfcdx.lib
c:\harbour_CE\lib\dbffpt.lib
c:\harbour_CE\lib\hbsix.lib
c:\harbour_CE\lib\debug.lib
c:\harbour_CE\lib\common.lib
c:\harbour_CE\lib\pp.lib
c:\harbour_CE\lib\codepage.lib
c:\vce\lib\arm\coredll.lib
c:\vce\lib\arm\corelibc.lib
c:\vce\lib\arm\aygshell.lib
c:\vce\lib\arm\ws2.lib
c:\vce\lib\arm\mfcce400.lib
c:\vce\lib\arm\ole32.lib
c:\vce\lib\arm\ceshell.lib
c:\vce\lib\arm\commctrl.lib
c:\vce\lib\arm\wininet.lib
FiveCEC.lib(GETTEXT.obj) : error LNK2005: "void __cdecl HB_FUN_GETWINDOWTEXT(void)" (?HB_FUN_GETWINDOWTEXT@@YAXXZ) already defined in PRUEBA2.obj
FiveCEC.lib(GETTEXT.obj) : warning LNK4006: "void __cdecl HB_FUN_GETWINDOWTEXT(void)" (?HB_FUN_GETWINDOWTEXT@@YAXXZ) already defined in PRUEBA2.obj; second definition ignored
Creating library PRUEBA2.lib and object PRUEBA2.exp
PRUEBA2.exe : fatal error LNK1169: one or more multiply defined symbols found
* Application successfully built

Posted: Mon Oct 23, 2006 8:42 pm
by Antonio Linares
Luis,

Hay que extraer este módulo previamente:

lib /remove:objcec\GETTEXT.obj fivecec.lib

Posted: Tue Oct 24, 2006 3:52 pm
by luis.santeliz
ahora me da otros errores :?
FiveCE.lib(MGET.obj) : error LNK2001: unresolved external symbol "void __cdecl HB_FUN_MGETREPLACE(void)" (?HB_FUN_MGETREPLACE@@YAXXZ)
FiveCE.lib(MGET.obj) : error LNK2001: unresolved external symbol "void __cdecl HB_FUN_GETWINTXTLENGHT(void)" (?HB_FUN_GETWINTXTLENGHT@@YAXXZ)
FiveCE.lib(MGET.obj) : error LNK2001: unresolved external symbol "void __cdecl HB_FUN_MGETLINE(void)" (?HB_FUN_MGETLINE@@YAXXZ)

Posted: Tue Oct 24, 2006 4:25 pm
by Antonio Linares
Luis,

Vamos a publicar un nuevo build de FWPPC en sólo unos dias. En cuanto salga lo tendrás y así no tienes que modificar nada.

Posted: Tue Oct 24, 2006 5:29 pm
by luis.santeliz
vale, vale.. yo espero; de momento lo he solucionado agregando las funciones q faltan en blanco.. muchas gracias por su atencion Don Antonio.

Posted: Mon Oct 30, 2006 10:48 am
by astursoft
antonio yo me quede sin actualizaciones en septiembre ( al caducar la version 1 ) ... si es un fix importante tendria que aplicarlo pero me salen los errores arriba indicados y no tengo manera de acceder a las ultimas actualizaciones ... pondras un fix completo para la version 1 o debemos quedarnos com estamos ?

Posted: Mon Oct 30, 2006 11:32 am
by Antonio Linares
Jose Luis,

No es sólo eso. El nuevo build de FWPPC que hemos publicado ya, usa el Harbour más reciente (46.2) y ha sido rediseñado interiormente para optimizar el uso de la memoria.

Además se han cambiado clases importantes, para hacerlo funcionar mejor. Y del Harbour anterior a este nuevo existen muchas diferencias.

No hay un parche aislado que se pueda publicar, sino lo haríamos.

Posted: Mon Oct 30, 2006 11:43 am
by astursoft
entonces ¿ lo dejo estar ? ... ( de momento no hemos tenido problemas, y actualizarse a la nueva version no se plantea hasta tener mas parque de aplicaciones instaladas .. )
Gracias por tu atencion

Posted: Mon Oct 30, 2006 3:15 pm
by Antonio Linares
Jose Luis,

Sí, puedes dejarlo como está. Solo en aplicaciones que funcionan muchas horas seguidas es donde puede notarse el problema de la memoria, que ya está solucionado.