FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Pocket PC Fix necesario para la Clase TListBox y TComboBox
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Fix necesario para la Clase TListBox y TComboBox
Posted: Sun Feb 01, 2009 09:41 PM
En el metodo Add() por favor anadir esta linea:
METHOD Add( cItem, nAt ) CLASS TListBox

   DEFAULT nAt := Len( ::aItems )

   cItem = FW_AnsiToWide( cItem )  // Nueva !!!

   if nAt == Len( ::aItems )
      AAdd( ::aItems, cItem )
      ::SendMsg( LB_ADDSTRING, 0, cItem )
   else
      ASize( ::aItems, Len( ::aItems ) + 1 )
      AIns( ::aItems, nAt + 1 )
      ::aItems[ nAt + 1 ] = cItem
      ::SendMsg( LB_INSERTSTRING, nAt, cItem )
   endif

   ::SendMsg( LB_SETCURSEL, nAt )

return nil

Reemplazar todas las llamadas a AnsiToWide() en listbox.prg con FW_AnsiToWide()

Y anadir esta funcion a listbox.prg:
#pragma BEGINDUMP

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

LPWSTR AnsiToWide( char * );

HB_FUNC( FW_ANSITOWIDE )
{
  LPWSTR pW = AnsiToWide( hb_parc( 1 ) );
  int iLen = MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, hb_parc( 1 ), -1, 0, 0 );

  hb_retclen( ( char * ) pW, ( hb_parclen( 1 ) * 2 ) + 1 );
  hb_xfree( pW );
}

#pragma ENDDUMP
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Fix necesario para la Clase TListBox y TComboBox
Posted: Sun Feb 01, 2009 10:10 PM

El mismo arreglo es necesario para la Clase TCombobox: (source\classes\combobox.prg)

  1. Reemplazar todas las llamadas a AnsiToWide() con FW_AnsiToWide()

  2. Si ya anadistes HB_FUNC( FW_ANSITOWIDE ) en listbox.prg entonces no es necesario anadirlo en combobox.prg

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Fix necesario para la Clase TListBox y TComboBox
Posted: Sun Feb 01, 2009 11:08 PM
Podeis modificar, compilar y reemplazar módulos en FWPPC de esta forma:

go.bat
c:\harbour_ce\bin\harbour classes\listbox.prg /L /N /W /D__FWCE__  /I..\include;c:\harbour_ce\include
c:\harbour_ce\bin\harbour classes\combobox.prg /L /N /W /D__FWCE__  /I..\include;c:\harbour_ce\include
c:\vce\bin\clarm -c -TP /DARM /DUNICODE -Ic:\harbour_ce\include -Ic:\vce\include\arm listbox.c
c:\vce\bin\clarm -c -TP /DARM /DUNICODE -Ic:\harbour_ce\include -Ic:\vce\include\arm combobox.c
c:\vce\bin\lib ..\lib\Fivece.lib /remove:objce\LISTBOX.obj
c:\vce\bin\lib ..\lib\Fivece.lib /remove:objce\COMBOBOX.obj
c:\vce\bin\Lib ..\lib\Fivece.lib /OUT:..\lib\Fivece.lib listbox.obj
c:\vce\bin\Lib ..\lib\Fivece.lib /OUT:..\lib\Fivece.lib combobox.obj
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Fix necesario para la Clase TListBox y TComboBox
Posted: Sun Feb 01, 2009 11:32 PM

Acabamos de publicar un nuevo build 9.01 de FWPPC con estos cambios :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Fix necesario para la Clase TListBox y TComboBox
Posted: Mon Feb 02, 2009 11:31 AM

Importante:

El flag -TP de clarm no debe ser usado pues no queremos modo C++

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion