Page 1 of 1
ace32 con msvc
Posted: Sat Feb 27, 2010 5:09 am
by hgarcia
Bueno el cambio siempre es frustrante al principio, habiendo podido compilar mis fuentes de fivewin, mis módulos de C y después de modificar el RC para sacar los gráficos que tenía como código fuente para dejarlos solo como llamados a archivos ahora me encuentro conque al momento de enlazar y agregar ace32.lib envía un error de archivo dañado o no compatible.
Me dirán que vuelva a generar el ace32.lib haciendo: implib ace32.lib ace32.dll lo cual funciona perfectamente para Borland pero Sorpresa! no funciona con MSVC. De seguro habrá más de alguno que me diga pues para que te cambias, pues el asunto es que si uso el compilador de Microsoft la transición a WIn64 es más sencilla (borland no genera código de 64 bits, bueno el bcc55) e incluso para usar FWPCC es necesario este compilador, por lo que espero que una alma caritativa me ayude a resolver este problema. Necesito ACE32.LIB para MSVC y no lo puedo generar via ace32.DLL
Gracias por su ayuda
Re: ace32 con msvc
Posted: Sat Feb 27, 2010 9:42 am
by Antonio Linares
Héctor,
Primero tienes que generar el fichero DEF a partir de la DLL:
Code: Select all
c:\bcc55\bin\impdef.exe ace32.def ace32.dll
Y a continuación usando lib.exe de Microsoft generas la LIB:
Code: Select all
lib.exe /DEF:ace32.def /OUT:ace32.lib
Re: ace32 con msvc
Posted: Sat Feb 27, 2010 3:57 pm
by hgarcia
Bien se pudo generar la lib pero los mensajes que envía son como los siguientes:
Code: Select all
Fivehcm.lib(BRUSHES.obj) : error LNK2019: símbolo externo __imp__AlphaBlend@44 sin resolver al que se hace referencia en la función _HB_FUN_ABPAINT
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsSetServerType@4 sin resolver al que se hace referencia en la función _HB_FUN_ADSSETSERVERTYPE
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsSetDateFormat@4 sin resolver al que se hace referencia en la función _HB_FUN_ADSSETDATEFORMAT
rddads.lib(ads1.obj) : error LNK2001: símbolo externo _AdsSetDateFormat@4 sin resolver
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsGetDateFormat@8 sin resolver al que se hace referencia en la función _HB_FUN_ADSSETDATEFORMAT
rddads.lib(ads1.obj) : error LNK2001: símbolo externo _AdsGetDateFormat@8 sin resolver
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsSetEpoch@4 sin resolver al que se hace referencia en la función _HB_FUN_ADSSETEPOCH
rddads.lib(ads1.obj) : error LNK2001: símbolo externo _AdsSetEpoch@4 sin resolver
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsGetEpoch@4 sin resolver al que se hace referencia en la función _HB_FUN_ADSSETEPOCH
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsApplicationExit@0 sin resolver al que se hace referencia en la función _HB_FUN_ADSAPPLICATIONEXIT
rddads.lib(ads1.obj) : error LNK2001: símbolo externo _AdsApplicationExit@0 sin resolver
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsIsServerLoaded@8 sin resolver al que se hace referencia en la función _HB_FUN_ADSISSERVERLOADED
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsGetConnectionType@8 sin resolver al que se hace referencia en la función _HB_FUN_ADSGETCONNECTIONTYPE
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsUnlockRecord@8 sin resolver al que se hace referencia en la función _HB_FUN_ADSUNLOCKRECORD
rddads.lib(ads1.obj) : error LNK2001: símbolo externo _AdsUnlockRecord@8 sin resolver
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsGetTableConnection@8 sin resolver al que se hace referencia en la función _HB_FUN_ADSGETTABLECONTYPE
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsGetServerTime@24 sin resolver al que se hace referencia en la función _HB_FUN_ADSGETSERVERTIME
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsIsTableLocked@8 sin resolver al que se hace referencia en la función _HB_FUN_ADSISTABLELOCKED
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsIsRecordLocked@12 sin resolver al que se hace referencia en la función _HB_FUN_ADSISRECORDLOCKED
rddads.lib(ads1.obj) : error LNK2001: símbolo externo _AdsIsRecordLocked@12 sin resolver
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsGetTableCharType@8 sin resolver al que se hace referencia en la función _HB_FUN_ADSGETTABLECHARTYPE
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsSetDefault@4 sin resolver al que se hace referencia en la función _HB_FUN_ADSSETDEFAULT
rddads.lib(ads1.obj) : error LNK2001: símbolo externo _AdsSetDefault@4 sin resolver
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsGetDefault@8 sin resolver al que se hace referencia en la función _HB_FUN_ADSSETDEFAULT
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsSetSearchPath@4 sin resolver al que se hace referencia en la función _HB_FUN_ADSSETSEARCHPATH
rddads.lib(ads1.obj) : error LNK2001: símbolo externo _AdsSetSearchPath@4 sin resolver
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsGetSearchPath@8 sin resolver al que se hace referencia en la función _HB_FUN_ADSSETSEARCHPATH
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsShowDeleted@4 sin resolver al que se hace referencia en la función _HB_FUN_ADSSETDELETED
rddads.lib(ads1.obj) : error LNK2001: símbolo externo _AdsShowDeleted@4 sin resolver
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsGetDeleted@4 sin resolver al que se hace referencia en la función _HB_FUN_ADSSETDELETED
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsSetExact@4 sin resolver al que se hace referencia en la función _HB_FUN_ADSSETEXACT
rddads.lib(ads1.obj) : error LNK2001: símbolo externo _AdsSetExact@4 sin resolver
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsGetExact@4 sin resolver al que se hace referencia en la función _HB_FUN_ADSSETEXACT
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsBinaryToFile@12 sin resolver al que se hace referencia en la función _HB_FUN_ADSBLOB2FILE
rddads.lib(ads1.obj) : error LNK2001: símbolo externo _AdsBinaryToFile@12 sin resolver
rddads.lib(adsfunc.obj) : error LNK2019: símbolo externo _AdsFileToBinary@16 sin resolver al que se hace referencia en la función _HB_FUN_ADSFILE2BLOB
rddads.lib(ads1.obj) : error LNK2001: símbolo externo _AdsFileToBinary@16 sin resolver
incluyo uno que tiene que ver con botones imp_alpha por otr lado mis conocimientos en C no han mejorado asi que si me pueden ayudar con este otro mensaje
Code: Select all
D:\frameworkh\chb\SCROLL.C(56) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
D:\frameworkh\chb\SCROLL.C(84) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
D:\frameworkh\chb\SCROLL.C(110) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
D:\frameworkh\chb\SCROLL.C(124) : error C3861: '_reta': no se encontr¢ el identificador
D:\frameworkh\chb\SCROLL.C(137) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
D:\frameworkh\chb\SCROLL.C(149) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
y el fuente es:
Code: Select all
// Modificado por José - para desplegar las barras de scroll proporcionales (tipo W95/98/2000)
// Modified by Manuel Mercado for TSBrowse, last update: February 27th, 2002
#include <WinTen.h> // set proper path if needed
#include <Windows.h>
#include <ClipApi.h> // set proper path if needed
#ifndef __FLAT__
#ifndef __HARBOUR__
typedef struct
{
DWORD cbSize ;
DWORD fMask ;
long nMin ;
long nMax ;
DWORD nPage ;
long nPos ;
long nTrackPos ;
} SCROLLINFO ;
typedef SCROLLINFO FAR * LPSCROLLINFO ;
#define SIF_RANGE 1
#define SIF_PAGE 2
#define SIF_POS 4
#define SIF_DISABLENOSCROLL 8
#define SIF_TRACKPOS 16
#endif
#endif
//----------------------------------------------------------------------------//
static BOOL SetScrInfo( HWND hWnd, int nScrollBar, LPSCROLLINFO si, BOOL lRedraw)
{
#ifndef __HARBOUR__
typedef BOOL ( WINAPI * FN )( HWND, int, LPSCROLLINFO, BOOL ) ;
FN p = ( FN ) GetProcAddress( GetModuleHandle( "USER" ), "SetScrollInfo" ) ;
if( p )
return ( p( ( HWND ) hWnd, nScrollBar, si, lRedraw ) ) ;
else
return ( FALSE ) ;
#else
return SetScrollInfo( hWnd, nScrollBar, si, lRedraw ) ;
#endif
}
//----------------------------------------------------------------------------//
#ifdef __HARBOUR__
HB_FUN_SETSCROLLRANGE( PARAMS ) // ( hWnd, nFlags, nMin, nMax, lRepaint, lDisable, l32Bit )
#else
CLIPPER SETSCROLLR( PARAMS ) // ANGE()
#endif
[b]línea 56[/b] {
SCROLLINFO si ;
si.cbSize = sizeof( si ) ;
si.fMask = SIF_RANGE ;
si.nMin = _parni( 3 ) ;
si.nMax = _parni( 4 ) ;
if (_parl(6))
si.fMask = SIF_RANGE + SIF_DISABLENOSCROLL ;
if (_parl(7))
_retl( SetScrInfo( ( HWND ) _parnl( 1 ), _parni( 2 ), &si, _parl( 5 ) ) ) ;
else // NT does not support SetScrollInfo() API function
_retni( SetScrollRange( ( HWND ) _parnl( 1 ), // its hWnd
_parni( 2 ), // Scroll Bar flags
_parni( 3 ), // Min
_parni( 4 ), // Max
_parl( 5 ) ) ) ; // ReDraw
}
//----------------------------------------------------------------------------//
#ifdef __HARBOUR__
HB_FUN_SETSCROLLPOS( PARAMS ) // ( hWnd, nFlags, nPos, lRepaint, lDisable, l32Bit )
#else
CLIPPER SETSCROLLP( PARAMS ) // OS
#endif
{
SCROLLINFO si;
si.cbSize = sizeof( si );
si.fMask = SIF_POS;
si.nPos = _parni( 3 );
if (_parl(5))
si.fMask = SIF_POS + SIF_DISABLENOSCROLL ;
if ( _parl( 6 ) )
_retl( SetScrInfo( ( HWND ) _parnl( 1 ), _parni( 2 ), &si, _parl( 4 ) ) ) ;
else // NT does not support SetScrollInfo() API function
_retl( SetScrollPos( ( HWND ) _parnl( 1 ), // its hWnd
_parni( 2 ), // Scroll Bar flags
_parni( 3 ), // new Position
_parl( 4 ) ) ) ; // repaint
}
//----------------------------------------------------------------------------//
#ifdef __HARBOUR__
HB_FUN_GETSCROLLRANGE( PARAMS ) // ( hWnd, nFlags )
#else
CLIPPER GETSCROLLR( PARAMS ) // ANGE
#endif
{
int iMin = 0, iMax = 0 ;
#ifdef __FLAT__
#ifndef __HARBOUR__
#define _storni( x, y, z ) STORNI( x, params, y, z )
#endif
#endif
GetScrollRange( ( HWND ) _parnl( 1 ), // its hWnd
_parni( 2 ), // Scroll bar flags
&iMin,
&iMax ) ;
[b]línea 124[/b] _reta( 2 ) ; // { nMin, nMax }
_storni( iMin, -1, 1 ) ;
_storni( iMax, -1, 2 ) ;
}
//----------------------------------------------------------------------------//
#ifdef __HARBOUR__
HB_FUN_GETSCROLLPOS( PARAMS ) // ( hWnd, nFlags )
#else
CLIPPER GETSCROLLP( PARAMS ) // OS
#endif
{
_retni( GetScrollPos( ( HWND ) _parnl( 1 ), // its hWnd
_parni( 2 ) ) ) ; // Scroll bar flags
}
//----------------------------------------------------------------------------//
#ifdef __HARBOUR__
HB_FUN_SETSCROLLINFO( PARAMS ) // ( hWnd, nFlags, nSize, lRedraw, lShowDisabled )
#else
CLIPPER SETSCROLLI( PARAMS ) // NFO()
#endif
{
SCROLLINFO si;
si.cbSize = sizeof( si );
si.fMask = SIF_PAGE ;
si.nPage = _parni( 3 );
if ( _parl( 5 ) )
si.fMask += SIF_DISABLENOSCROLL ;
_retl( SetScrInfo( ( HWND ) _parnl( 1 ), _parni( 2 ), &si, _parl( 4 ) ) ) ;
}
//----------------------------------------------------------------------------//
Gracias nuevamente
Re: ace32 con msvc
Posted: Sat Feb 27, 2010 7:55 pm
by Antonio Linares
Héctor,
Parece que estas usando una versión de ace32.dll más antigua que la que necesita rddads.lib. Puedes actualizar a una versión más reciente de ace32.dll ? En caso negativo, tendrias que construir una versión de rddads.lib para la versión de ace32.dll que tienes.
Respecto al nuevo fichero en C que quieres compilar, cambia todos los _parni por hb_parnl y de igual forma cambia todos los _ret... por hb_ret...
Re: ace32 con msvc
Posted: Sun Feb 28, 2010 4:47 am
by hgarcia
Para el caso de ace32 estoy usando la versión 9.10 la más reciente y supongo que para generar rddads.lib basta con recompilar los módulos y generar la lib, cosa que hice pero sigue sin funcionar.
Por lo que respecta al otro problema con los módulos C hice _ de _ret por hb_ret y continúa el problema alguna otra sugerencia?
Gracias
Re: ace32 con msvc
Posted: Sun Feb 28, 2010 10:21 am
by Antonio Linares
Héctor,
En el fichero .DEF que generastes comprueba, por ejemplo, si existe: _AdsSetServerType@4
Que código tienes exactamente en la línea SCROLL.C(56) ?
Re: ace32 con msvc
Posted: Sun Feb 28, 2010 8:53 pm
by hgarcia
Creo que voy avanzando en algunas cosas encontré un modulo ace32.c como contribución de de xharbour que interactúa con ace32.dll y con eso se puede generar el RDDADS.LIB pero al compilar el módulo volvió a decirme el compilador C que mis conocimientos no han mejorado mucho en estos días así que pongo el código y el error
Code: Select all
static FARPROC Ace32_GetProcAddress( char* szFuncName )
{
if ( !hModule )
hModule = LoadLibrary( "ace32.dll" );
if ( hModule )
{
FARPROC pFunc = GetProcAddress( hModule, szFuncName );
if ( pFunc )
{
return pFunc;
}
else
{
char __szError[256];
hb_snprintf( __szError, sizeof( __szError ), "Cannot find function address: %s", szFuncName );
MessageBox( NULL, __szError, szFuncName, MB_ICONSTOP );
return NULL;
}
}
else
{
char __szError[256];
hb_snprintf( __szError, sizeof( __szError ), "Cannot load ace32.dll" );
MessageBox( NULL, __szError, "Error Loading DLL", MB_ICONSTOP );
return NULL;
}
}
UNSIGNED32 ENTRYPOINT AdsSetFieldRaw( ADSHANDLE hObj, UNSIGNED8 *pucFldName, UNSIGNED8 *pucBuf, UNSIGNED32 ulLen )
{
[b]linea 93[/b] static ADSSETFIELDRAW_PTR pFunc = NULL;
if ( !pFunc )
pFunc = (ADSSETFIELDRAW_PTR) Ace32_GetProcAddress( "AdsSetFieldRaw" );
return ( pFunc ? pFunc( hObj, pucFldName, pucBuf, ulLen ) : 0 );
}
UNSIGNED32 ENTRYPOINT AdsDeleteFile( ADSHANDLE hConnection, UNSIGNED8* pucFileName )
{
static ADSDELETEFILE_PTR pFunc = NULL;
if ( !pFunc )
pFunc = (ADSDELETEFILE_PTR) Ace32_GetProcAddress( "AdsDeleteFile" );
return ( pFunc ? pFunc( hConnection, pucFileName ) : 0 );
}
UNSIGNED32 ENTRYPOINT AdsGetFieldRaw( ADSHANDLE hTbl, UNSIGNED8 *pucFldName, UNSIGNED8 *pucBuf, UNSIGNED32 *pulLen )
{
static ADSGETFIELDRAW_PTR pFunc = NULL;
if ( !pFunc )
pFunc = (ADSGETFIELDRAW_PTR) Ace32_GetProcAddress( "AdsGetFieldRaw" );
return ( pFunc ? pFunc( hTbl, pucFldName, pucBuf, pulLen ) : 0 );
}
el error es:
Code: Select all
D:\harbour-2.0.0\contrib\rddads\ace32.c(93) : error C2146: error de sintaxis : falta ';' delante del identificador 'pFunc'
D:\harbour-2.0.0\contrib\rddads\ace32.c(93) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
D:\harbour-2.0.0\contrib\rddads\ace32.c(93) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(95) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(96) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(96) : error C2146: error de sintaxis : falta ';' delante del identificador 'Ace32_GetProcAddress'
D:\harbour-2.0.0\contrib\rddads\ace32.c(98) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(98) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(98) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(98) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(98) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(98) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(98) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(98) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(98) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(98) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(98) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(98) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(98) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(98) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(98) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(98) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(98) : error C2065: 'pFunc' : identificador no declarado
D:\harbour-2.0.0\contrib\rddads\ace32.c(118) : error C3861: 'pFunc': no se encontr¢ el identificador
Re: ace32 con msvc
Posted: Sun Feb 28, 2010 9:06 pm
by Antonio Linares
Héctor,
Falta definir ADSSETFIELDRAW_PTR, de ahi los errores.
En la carpeta en donde está ace32.c busca un fichero .h en donde esté definido ADSSETFIELDRAW_PTR y copia esa definición al comienzo de ace32.c ó bien añade #include nombre_del_fichero_que_contiene_ADSSETFIELDRAW_PTR
Re: ace32 con msvc
Posted: Mon Mar 01, 2010 12:44 pm
by hgarcia
muy bien parece que hasta aqui ya quedó lo que tiene que ver con ads ahora me quedan otros problemas con módulos C
Code: Select all
#ifdef __HARBOUR__
HB_FUN_SETSCROLLRANGE( PARAMS ) // ( hWnd, nFlags, nMin, nMax, lRepaint, lDisable, l32Bit )
#else
CLIPPER SETSCROLLR( PARAMS ) // ANGE()
#endif
{ //linea 56
SCROLLINFO si ;
si.cbSize = sizeof( si ) ;
si.fMask = SIF_RANGE ;
si.nMin = hb_parni( 3 ) ;
si.nMax = hb_parni( 4 ) ;
if (hb_parl(6))
si.fMask = SIF_RANGE + SIF_DISABLENOSCROLL ;
if (hb_parl(7))
hb_retl( SetScrInfo( ( HWND ) hb_parnl( 1 ), hb_parni( 2 ), &si, hb_parl( 5 ) ) ) ;
else // NT does not support SetScrollInfo() API function
hb_retl( SetScrollRange( ( HWND ) hb_parnl( 1 ), // its hWnd
hb_parni( 2 ), // Scroll Bar flags
hb_parni( 3 ), // Min
hb_parni( 4 ), // Max
hb_parl( 5 ) ) ) ; // ReDraw
}[b] //linea 75[/b]
Code: Select all
D:\frameworkh\chb\SCROLL.C(56) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
D:\frameworkh\chb\SCROLL.C(75) : warning C4508: 'HB_FUN_SETSCROLLRANGE' : la funci¢n debe devolver un valor; se supone que el tipo de valor devuelto es 'void'
D:\frameworkh\chb\SCROLL.C(84) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
D:\frameworkh\chb\SCROLL.C(101) : warning C4508: 'HB_FUN_SETSCROLLPOS' : la funci¢n debe devolver un valor; se supone que el tipo de valor devuelto es 'void'
D:\frameworkh\chb\SCROLL.C(110) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
D:\frameworkh\chb\SCROLL.C(128) : warning C4508: 'HB_FUN_GETSCROLLRANGE' : la funci¢n debe devolver un valor; se supone que el tipo de valor devuelto es 'void'
D:\frameworkh\chb\SCROLL.C(137) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
D:\frameworkh\chb\SCROLL.C(140) : warning C4508: 'HB_FUN_GETSCROLLPOS' : la funci¢n debe devolver un valor; se supone que el tipo de valor devuelto es 'void'
D:\frameworkh\chb\SCROLL.C(149) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
D:\frameworkh\chb\SCROLL.C(160) : warning C4508: 'HB_FUN_SETSCROLLINFO' : la funci¢n debe devolver un valor; se supone que el tipo de valor devuelto es 'void'
Re: ace32 con msvc
Posted: Mon Mar 01, 2010 1:43 pm
by Antonio Linares
Héctor,
Cambia este tipo de secciones del código:
Code: Select all
#ifdef __HARBOUR__
HB_FUN_SETSCROLLRANGE( PARAMS ) // ( hWnd, nFlags, nMin, nMax, lRepaint, lDisable, l32Bit )
#else
CLIPPER SETSCROLLR( PARAMS ) // ANGE()
#endif
de esta forma: