Hola Esteban , gente

Me lo recomendaron para automatizar la modificación de la DLL.
Sed usa expresiones regulares y se supone que me daría algún tipo de beneficio 
para hacer lo que quiero.
La verdad es que no veo forma de hacerlo de manera fácil, por lo que voy a 
optar por hacer un lazy initialize desde smalltalk por cada función que 
necesite como me dijo Udo de la lista de dolphin.

Modificar la DLL a pata, es trabajo de negro :) y no tengo ganas de hacer eso, 
cuando encuentre la forma de hacerlo automatizado lo  hare.
Si alguien ya paso por eso y quiere contarme como lo realizo genial, sino no 
hay drama.

Por si a alguien le interesa saber , la DLL declara algo así por cada funcion:

typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat 
green, GLfloat blue);

#define glSecondaryColor3fEXT GLEW_GET_FUN(__glewSecondaryColor3fEXT)


 GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FEXTPROC __glewSecondaryColor3fEXT;

Yo reemplazo el puntero exportado por algo así:

GLEW_FUN_EXPORT GLvoid glewSecondaryColor3fEXT(GLfloat red, GLfloat green, 
GLfloat blue)
 

Luego en Glew.c

 GLvoid glewSecondaryColor3fEXT(GLfloat red, GLfloat green, GLfloat blue)

 {   glSecondaryColor3fEXT(red, green, blue); } 


Y eso es todo.
El tema es que son + de 500 !!!.

saludos kiko


--- El mar 13-jul-10, Esteban A. Maringolo <[email protected]> escribió:

De: Esteban A. Maringolo <[email protected]>
Asunto: Re: [clubSmalltalk] Dolphin: Puntero a funcion ?
Para: [email protected]
Fecha: martes, 13 de julio de 2010, 15:55

No entiendo quien te recomendó que uses "sed", es bastante ofuscado para su 
uso, y solo se justifica si no tenes una interfaz gráfica, ya que podes 
realizar transformaciones (search&replace, entre otras cosas) sin tener que 
tener ventanas.


Usá el editor que te quede más cómodo, y si es en windows puede ser Notepad++.
Saludos.
Esteban A. Maringolo



El 13 de julio de 2010 15:49, Jose Gregoris <[email protected]> escribió:


Hola Juan, gente

Encontré que hay por lo menos dos librarias que hacen algo parecido.
GLee y GLEW . El problema con estas librerias sigue siendo el mismo, pues solo 
exportan punteros a funciones.


Ahora ya se como modificar el fuente, de por lo  menos GLEW , para que exporte 
funciones como juan me recomendaba.

El punto es que son una cantidad enorme, mas de 500 !.
Alguien en el foro de ADVA me recomendo usar un editor llamado SED


para modificar el fuente.
Te pregunto juan, vos usaste este editor ?
O no eran tantas la funciones que tenias ?

El tema de usar SED es que por el momento ( estoy averiguando) no tengo idea de 
como usarlo.


Si alguien lo ha usado agradecería la
 colaboración :)

saludos kiko

Pd: A en el foro de dolphin el amigo Udo me dijo como usar los punteros a 
funciones directamente .
El tema es que hay que hacer todo a pata, a menos que invente algo 







--- El lun 5-jul-10, Juan <[email protected]> escribió:



De: Juan <[email protected]>
Asunto: Re: [clubSmalltalk] Dolphin: Puntero a funcion ?
Para: [email protected]


Fecha: lunes, 5 de julio de 2010, 15:31

Kiko

Sino encontras otra manera uan solucion ( yo la implemente)
es crear una dll q haga el trabajo, porque en C o c++ ( yo use ansi C) 


es mas falicil hacer un call a un puntero
 de una funcion.
ademas podes hacer q tu dolphin llame a esa dll. ( la q vos creas como wrapper).

tu dll llame a la libreria gdi o opengl)
ademas vos solo declararias los parametros para pasarselos a la dll wrapper y 
desde alli haces la llamada a opengl.
Cuando yo lo hize lo hize para evitar muchisimos parametros q eran structs.



en C la declaracion de una struct es basica.
y solo queria una o sod funciones .
Si no entendiste algo avisa.

saludos 
MDC

2010/7/5 GallegO <[email protected]>



Disculpá pero no trabajo con eso habitualmente asi que no tengo ejemplos a 
mano. Te fijaste en toda la implementacion de GDIPlus?



Saludos

El 5 de julio de 2010 14:30, Jose Gregoris <[email protected]> escribió:







Hola Gallego


Te fijaste en la ayuda de Dolphin?

Si claro, siempre trato de agotar las opciones antes de preguntar.
La verdad  es que no encuentro nada util en la ayuda.




En smalltalk MT MemoryManager te permitia hacer llamadas a funciones externas 
conociendo su dirección.

En el caso de Dolphin  no veo la forma ?
Si me podes dar una ayudita sería  genial 

saludos kiko





--- El lun 5-jul-10, GallegO <[email protected]> escribió:





De: GallegO <[email protected]>
Asunto: Re: [clubSmalltalk] Dolphin: Puntero a funcion ?
Para: [email protected]




Fecha: lunes, 5 de julio de 2010, 13:27

Kiko:
Te fijaste en la ayuda de Dolphin? Esta todo documentado.
Saludos





El 5 de julio de 2010 10:07, Jose Gregoris <[email protected]> escribió:





Hola 

En un ejemplo con OpenGL debo usar un puntero a una función.

En C++ se declara así:

 myglSecondaryColor3f = (PFNGLSECONDARYCOLOR3FPROC) 
wglGetProcAddress("glSecondaryColor3fEXT");


Despues obtener el puntero, como se hace en dolphin para poder llamar a la 
función ?






Veo que hay algo llamado ExternalMethod, pero no veo la forma de utilizarlo. 
Además no se si la cosa va por hay.

Sugerencias ?

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





       



-- 

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




-- 

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




-- 

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

Responder a