FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema con una Dll COM y delphi 7
Buenas, he sido lurker vuestro desde hace muuuucho tiempo y realmente leyendo el foro me habeis sacado de toda duda, peeeero, ahora tengo un problema del cual no salgo...
Entorno de trabajo: Visual Basic .NET 2008 vs Delphi 7. He hecho una dll en .NET, a modo de servidor COM, funciona de perlas, incluido en vb6, a excepcion de los eventos ... En vb6 funcionan perfectamente, pero en delphi 7 no los dispara automaticamente, se ven, pero no se disparan... ideas? vamos a por el codigo: Codigo de la DLL .NET (lo interesante claro) Código:
General: <Assembly: ClassInterface(ClassInterfaceType.None)> Interface de las funciones/subs y demas: <InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)> _ Public Interface IClass1 <DispId(1)> Function InicioSygic(ByVal Ruta) As Integer .... end interface Interface del evento: <InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)> _ Public Interface IClass1Events Sub elEvento(ByVal mensaje As String) End Interface Codigo restante: <ComSourceInterfaces("ClassLibrary3.IClass1Events")> _ Public Class Class1 Inherits MarshalByRefObject Implements IClass1 ... <ComVisible(False)> _ Public Delegate Sub elEventoHandler(ByVal mensaje As String) Public Event elEvento As elEventoHandler El sub que uso para ejecutar el evento: Protected Sub OnElEvento(ByVal mensaje As String) RaiseEvent elEvento(mensaje) End Sub Ahora codigo delphi: Código:
Importo la libreria generando el Wrapper en el _pas generado tengo esto: // *************************************************// // OLE Server Proxy class declaration // Server Object : TClass1 // Help String : // Default Interface: IClass1 // Def. Intf. DISP? : Yes // Event Interface: IClass1Events // TypeFlags : (2) CanCreate // ***********************************************// {$IFDEF LIVE_SERVER_AT_DESIGN_TIME} TClass1Properties= class; {$ENDIF} TClass1 = class(TOleServer) private FOnelEvento: TClass1elEvento; FIntf: IClass1; En el form principal del mi programa: type .... protected procedure delphievento(Sender: const Value: WideString); <-Esto debe ser lo erroneo Aqui la procedure para que cuando dispare lo reciba procedure TForm1.delphievent(Sender: const Value: WideString); <- Y esto begin Memo1.Lines.Add(value); end; gracias anticipadas! |
#2
|
|||
|
|||
vale... cambios en el codigo delphi (que tampoco van, pero se lo traga...)
Código:
en el main: PROTECTED PROCEDURE eventodelphi(sender: Tclass1elevento); ..................................... en el codigo PROCEDURE TF_Arranque.eventodelphi(sender: Tclass1elevento); VAR lalala, mensaje: widestring; BEGIN showmessage('funciona'); END; |
#3
|
|||
|
|||
Nada... ni montado SOLO un interface ni leches... en delphi 7 no dispara el evento...
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema en Delphi 4.01 Pro | THc | Varios | 3 | 04-01-2009 22:27:12 |
problema con delphi | tuflotas | Varios | 8 | 28-07-2008 14:45:34 |
Problema con delphi | superjuliomax | Varios | 1 | 14-01-2005 10:02:12 |
Hola problema de migración delphi 5 a delphi 7 | davidgaldo | Conexión con bases de datos | 1 | 03-03-2004 14:13:28 |
Problema de delphi 6 en XP | Osorio | Varios | 1 | 02-06-2003 12:14:53 |
|