Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   recibir evento desde DLL creada en Visual C++ (https://www.clubdelphi.com/foros/showthread.php?t=75524)

robinsongm 30-08-2011 12:58:20

recibir evento desde DLL creada en Visual C++
 
Buenas,
Tengo una dll creada en Visual Studio C++; desde dicha dll debo recibir eventos relacionados a las operaciones que realizo en Delphi 7.

Utilizo la directiva "$A1" en la unidad donde declaro mi procedimiento (leyendo por internet vi que podria ser necesaria...o no.:confused:):

Código Delphi [-]
Unit MiUnidad; 
{$A1} 
... 
const    WM_EVENTO = WM_USER + 100;  // por ejemplo  
...  
type    MyClass = class     
  ...    
  Procedure onEvento (var Mensaje: TMessage); message WM_EVENTO;  
...  
Procedure MyClass.onEvento (var Mensaje: TMessage);  
var      
  ...  
begin      // hago cosas con Mensaje  
end;  
...

El caso es que el evento no lo recibo. He creado una dll desde delphi y con ella si puedo recibir los eventos en mi aplicación, pero no desde la dll creada con C++.

Por otro lado, me consta que las funciones que llamo se ejecutan correctamente. Por ejemplo, en la dll existe una función: "cantar" y un evento de "he_cantado". Si llamo la función "cantar" hay algo que 'canta' y luego me devuelve un evento 'he_cantado'.
Pues el "algo" SI canta, pero no recibo el evento.

Espero que esta ilustración sea de ayuda. :)

conozco también el codigo de la dll, y veo claramente cómo se envia el evento al handle correcto y justo despues de "cantar" :p


¿alguna/s sugerencias/ respuesta/ ayuda?

Muchas gracias!!!

escafandra 30-08-2011 16:08:26

Pues si el mensaje se manda a la ventana correcta ésta debe recibirlo independientemente del lenguaje de programación utilizado. Yo revisaría si ese mensaje se envía a la ventana que esperas, o dicho de otra manera si le estás pasando en Handle apropiado.


Saludos.


La franja horaria es GMT +2. Ahora son las 08:35:23.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi