Hola Evidentemente es un problema que genero desde dolphin, pues en C++ anda bien. El tema es que tipo defino desde dolphin para las funciones.
Buscando ejemplos en dolphin encuentro que hay una variedad de formas. GdiplusLibrary>>gdipGetLineSpacing: family style: style lineSpacing: lineSpacing "Invoke the GdipGetLineSpacing() function of the module wrapped by the receiver. GpStatus __stdcall GdipGetLineSpacing( [in]PGpFontFamily family, int style, UINT16* LineSpacing);" <stdcall: sdword GdipGetLineSpacing handle sdword word*> ^self invalidCall Y se lo pasan así: lineSpacing "Answer the vertical distance between the base lines of two consecutive lines of text." | status lineSpacing | lineSpacing := DWORD new. (status := GdiplusLibrary default gdipGetLineSpacing: self asParameter style: 0 lineSpacing: lineSpacing) = Ok ifFalse: [GdiplusError signal: 'GdipGetLineSpacing failed' with: status]. ^lineSpacing asInteger Usan un DWORD para un word !! y lo pasan de una, sin #yourAddress. Trate así y nada . saludos --- El mié 8-sep-10, Jose Gregoris <[email protected]> escribió: De: Jose Gregoris <[email protected]> Asunto: [clubSmalltalk] Dolphin api call dword* ? Para: "Club smaltalk" <[email protected]> Fecha: miércoles, 8 de septiembre de 2010, 17:07 Hola Gente Tengo un problema con la demo de openGL , el tema esta en que las texturas no son borradas adecuadamente. Lo primero que quiero ver es si estoy definiendo bien los tipos de la función. Para crear una textura se usa esto: OpenGLLibrary>>glGenTextures: n textures: textures " Generate texture names void glGenTextures( GLsizei n, GLuint * textures); n: Specifies the number of texture names to be generated. textures: Specifies an array in which the generated texture names are stored." <stdcall: void glGenTextures sdword dword*> ^self invalidCall Para borrar una textura se usa esto: OpenGLLibrary>>glDeleteTextures: n textures: textures " Delete named textures void glDeleteTextures( GLsizei n, const GLuint * textures);" <stdcall: void glDeleteTextures sdword dword*> ^self invalidCall Donde GLuint* es: typedef unsigned int GLuint; Cuando creo una textura uso algo así: |textureObject| textureObject:= DWORD new. y le paso esto a la función así: OpenGLLibrary>>generateTextureNameFor: textureObject " Generate texture name for textureObject" self glGenTextures: 1 textures: textureObject yourAddress ; checkError Luego para borrar así: deleteTexture: textureIndex "Delete a texture" self glDeleteTextures: 1 textures: textureIndex yourAddress ; checkError Primero es correcto el tipo de dato que use ? Es correcto pasar la dirección ? Encontré que en algunos lugares se pasa la dirección y en otros directamente . ES muy raro pues algunas las borra y otras no ! saludos kiko -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org
