Hola
Ya esta, estaba usando una versión distinta a la de ALe.
No sabia que habían varias versiones de genesis3d.
Yo baje los fuentes y este corresponde a la version C++, tengo que ver donde esta la versión C para ver los fuentes.
saludos y disculpen las molestias.
kikote gregoris <kikogregoris@...> escribió:
kikote gregoris <kikogregoris@...> escribió:
Hola ALe , marceloOK, la funcion esta mangeada o lo que sea.El tema es que debo estar usando una version distinta de genesis pues , no encuentro dentro de genesis.h una version en C de la funcion.Esta es la convencion de genesis:#ifdef __cplusplus
extern "C" {
#endif/******** The Genesis Calling Conventions ***********/#define GENESISCC _fastcall#if defined(BUILDGENESIS) && defined(GENESISDLLVERSION)
#define GENESISAPI _declspec(dllexport)
#else
#if defined(GENESISDLLVERSION)
#define GENESISAPI _declspec(dllimport)
#else
#define GENESISAPI
#endif
#endifLuego todas las funciones de Camera estan de esta manera:GENESISAPI geCamera *GENESISCC geCamera_Create(geFloat Fov, const geRect *Rect);Donde GENESISCC es la famosa _fastcall.No se o estoy usando una versión distinta de genesis o ???.No creo estar usando una versión distinta ya que es la misma que ALe usa para VS.O sera un problema de MT de como ve las funciones ???Alguna idea ????.saludos kikoSi quieren hacer una prueba tonta, solo vasta con ir a la opcion del menu Tools\image properties y en la pestaña linkage agregar la DLL y una ves cargada hacer doble clik sobre la misma y ver como muestra las funciones.No es obligacion que lo hagan, solo si tienen tiempo y ganas.
ejandro F. Reimondo" <aleReimondo@...> escribió:
> @geCamera_Create@8.
Creo que esta funcion no es de la interfaz C, sino de la de C++;
pues el nombre está "mangleado".
Usá la versión C de la función... segun pienso estas "funciones C++"
están expuestas para poner alegres a las aplicaciones que
interactúan via Cpuspus; que no debería ser necesario
de usar en Smalltalk, ya que haría mas fragil aún tu sistema.
suerte,
Ale.
----- Original Message -----
From: "kikote gregoris" <kikogregoris@...>
To: <smalltalking@...>
Sent: Friday, June 02, 2006 4:52 PM
Subject: Re: [objetos] API: _fastcall
> Hola ALe
>
> Estube mirando pero no hay nada de _fastcall digo que, solo define API
,C y otras .
> API por lo que se, usa stdcall y es la convencion que usan las APIs de
win y C es cdcall que es la convencion C por defecto.
>
> Lo que pasa es que las funciones que usan _fastcall en Genesis MT me las
muestra con:
>
> @geCamera_Create@8.
>
> Cuando intento hacer la llama me dice que no se puede carcar la funcion.
>
> Lo que me llama la atencion es que yo uso la convencion C que es la
misma de VS, creo.
> Puedo hacer la llamada de otra forma mas complicadam, que es tomando la
direccion de la funcion y con un par de metodos que implementa MT lo hace
pero no creo que sea la manera de trabajar.
>
> saludos kiko
>
> "Alejandro F. Reimondo" <aleReimondo@...> escribió:
> En VS tenes varias formas de definir un metodo api,
> con un mecanismo incluso extensible.
> Fijate en los implementors de #apiPrimitiveMap
> Cada forma se corresponde con una manera de
> realizar la llamada nativa; si usas una que no corresponde,
> ocurre lo que siempre ocurre con el lenguaje
> de máquina :-)
> suerte,
> Ale.
>
>
>
> ---- Original Message -----
> From: "kikote gregoris" <kikogregoris@...>
> To: <smalltalking@...>
> Sent: Tuesday, May 30, 2006 11:06 PM
> Subject: [objetos] API: _fastcall
>
>
> > Hola
> >
> > Tengo problemas para invocar una funcion exportada como _fastcall
desde
> MT.
> >
> > Desde VS no hay dramas ya que vasta con usar la palabra reservada API
y
> listo.
> > Lo que me llama la atencion es que en la ayuda no hace diferencias
entre
> las distintas convenciones, incluso no nombra a _fastcall la cual es
> diferente de las demas por que los parametros son pasados en los registros
y
> no en la pila.
> >
> > Por que en VS funcionan igual, sin hacer diferencias entre
> convenciones.??
> > Todo esto esta derivado del uso de genesis3d.
> >
> > saludos kiko
> >
> >
> >
> > ---------------------------------
> > 1GB gratis, Antivirus y Antispam
> > Correo Yahoo!, el mejor correo web del mundo
> > Abrí tu cuenta aquí
>
>
>
> Para más información sobre la Asociación escribir a info@...
>
> Smalltalking es un espacio colaborativo creado para el estudio y
desarrollo en Ambientes de Objetos.
> Se sustenta gracias a la participación de sus socios.
>
> Las reglas de etiqueta sobre la lista están en
http://www.smalltalking.net/join/netiquete.htm
>
>
>
>
> ---------------------------------
> Enlaces de Yahoo! Grupos
>
> Para visitar el sitio web del grupo, andá a:
> http://ar.groups.yahoo.com/group/smalltalking/
>
> Para cancelar tu suscripción a este grupo, enviá un mensaje a:
> smalltalking-unsubscribe@...
>
> El uso de Yahoo! Grupos está sujeto a las Condiciones del servicio de
Yahoo!.
>
>
>
>
> ---------------------------------
> Horóscopos, Salud y belleza, Chistes, Consejos de amor.
> El contenido más divertido para tu celular está en
> Yahoo! Móvil
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
Abrí tu cuenta aquí