Página 2 de 2

Nueva versi

Publicado: Mié Oct 18, 2006 9:16 am
por jose.luis
José,
Gracias por tu respuesta.
En el mismo PRG tengo este código:
-------------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>
CLASS tdbfDATASET FROM xdbfDATASET
METHOD dbCreate( aStruc)
ENDCLASS
METHOD dbCreate( aStruc ) CLASS tdbfDataset
dbCreate(::cName, aStruc)
RETURN NIL
#pragma BEGINDUMP
#include "windows.h"
#include "xailer.h"
XA_FUNC( GETTEMPFILENAME )
{
char *cPath = hb_parc( 1 );
char *cPrefix = hb_parc( 2 );
char cFile[ 256 ] = { 0 };
char cTemp[ 256 ];
if( !cPath )
{
GetTempPath( 256, cTemp );
cPath = cTemp;
}
if( !cPrefix )
cPrefix = "TMP";
GetTempFileName( cPath, cPrefix, hb_parnl( 3 ), cFile );
hb_retc( cFile );
}
XA_FUNC( WINEXEC )
{
UINT uiMode = ISNUM( 2 ) ? hb_parni( 2 ) : SW_NORMAL;
hb_retni( WinExec( ( LPCSTR ) hb_parc( 1 ), uiMode ) );
}
#pragma ENDDUMP
// Comobox con la pestaña a la izquierda
CLASS TComboboxLeft FROM TCombobox
PROTECTED:
DATA nExStyle INIT WS_EX_RIGHT
ENDCLASS
// --------> Transforma una fecha clipper a formato exclusivo SQL SErver!!!
FUNCTION cDateSqlServer ( dDate )
RETURN STRZERO(YEAR( dDate),4)+STRZERO(MONTH( dDate ),2)+STRZERO(DAY(
dDate ),2)
-------------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>
Este PRG junto con otros forman una librería que añado al proyecto
principal.
El ejecutar la aplicación no me da problemas con la función cDateSqlServer
ni con el combo (que hace que aparezca la pestaña a la izquierda).
_Solo_ me aparece el problema con la clase tdbfDataset. No encuentro una
lógica al comportamiento del enlazador...
Saludos.
José Luis Capel

Nueva versi

Publicado: Mié Oct 18, 2006 10:23 am
por jfgimenez
José Luis,
> Este PRG junto con otros forman una librería que añado al proyecto
> principal.
>
> El ejecutar la aplicación no me da problemas con la función cDateSqlServer
> ni con el combo (que hace que aparezca la pestaña a la izquierda).
>
> _Solo_ me aparece el problema con la clase tdbfDataset. No encuentro una
> lógica al comportamiento del enlazador...
Y no la tiene, es un bug. Por lo que yo he podido deducir, el bug consiste
en que a veces monta mal la lista de símbolos, y aunque todo el código está
dentro del ejecutable, el símbolo de una función dada apunta a la segunda o
posterior ocurrencia de esa función, en vez de apuntar a la primera. Por eso
las demás funciones no te dan problemas; porque sólo hay una ocurrencia de
ellas. Pero en el caso de TDbfDataSet, hay 2 ocurrencias: la tuya y la que
hay en xailer.lib, y el enlazador crea el símbolo apuntando a segunda e
ignorando completamente la primera.
Vamos a separar completamente las clases T las clases X para minimizar este
problema. Mientras tanto, prueba a meter el .prg directamente al proyecto,
no la librería.
--
Un saludo,
José F. Giménez
http://www.xailer.com

Nueva versi

Publicado: Mié Oct 18, 2006 8:44 pm
por miguel
Solucionado, Gracias
Ignacio Ortiz de Zúñiga escribió:
> Miguel,
>
> Te importarí­a incluir este módulo. Espero que funcione.
>
> Un saludo,
>