2010-08-30 7 views
5

Estoy tratando de generar unidades de importación _TLB para Outlook 2003, 2007 y 2010 (y también otros servidores OLE) análogas a las incluidas con Delphi para Outlook 2000 y 2002. Sin embargo, no pude obtener el importador de la biblioteca de tipos para también genera el código para capturar eventos de los servidores OLE que se encuentran en las unidades empaquetadas. La opción de "generar contenedores de componentes" sólo crea contenedores para los servidores que están directamente instantiatable pero no para los objetos que sólo se devuelven a través de métodos de otros objetos como TInspector, TExplorer, etc.¿Es posible tener Delphi autogenerar el código de soporte de eventos para una biblioteca de tipo OLE/COM importada?

Podría, por supuesto, crear el código de manejo de eventos yo mismo, pero eso sería un trabajo realmente tedioso.

¿Alguien sabe si el importador que figura con Delphi 2010 (tlibimp.exe) se puede ajustar para generar ese código? Realmente dudo que en el pasado Borland creara las unidades Outlook2000.pas y OutlookXP.pas existentes manualmente ...

¿Hay alguna otra herramienta que pueda hacer esto?

+0

Oliver comprobar este enlace http://chrisbensen.blogspot.com/2007/07/how-to-import-type-library- from-command.html – RRUZ

+0

@RRUZ: Gracias. Conozco ese artículo. Ese fue realmente mi punto de partida. Pero lamentablemente no hay información sobre cómo generar envoltorios de eventos, especialmente para servidores que no se pueden crear ... –

Respuesta

4

¡Buena pregunta! Nunca me di cuenta de que esos componentes no se crearon (solo uso Word_TLB). Después de jugar un poco con tlibimp descubrí que necesitas la bandera -Yc+. Probablemente todos los indicadores de ignorar están predeterminados.

NB: esto es en Delphi 7 con tlibimp.exe versión 7.0.4.453

+0

Gracias, pero desafortunadamente con eso. Tengo dos clases más ('TOutlookApplication' (incluidos los eventos!) Y' TDoNotUseMeFolder' (?!)) Usando la opción '-Ya +', pero eso es todo ... Todavía no 'TInspector' o' TExplorer' en el generado archivo ... :( –

+0

BTW: la ayuda de línea de comando para 'tlibimp.exe' indica los estados predeterminados para cada opción y de acuerdo con eso (también verificado por mis pruebas)' -Yc' ya está activado (es decir, '+') por predeterminado. –

+0

@Oliver Giesen: utilicé tlibimp.exe de Delphi 7. Estas son las opciones predeterminadas cuando uso/?: -C- -P + -Ic- -Ip- -Ha + -Hr + -Hs + -Cw- -Ps + - Pt- -O + -R + -XM- -W + -Wc + -Yc- -Yh -Yp- -Yr- -Ya- (las opciones predeterminadas de C++ no están incluidas), así que solo cambié la opción -Yc- a -Yc + y funcionó para mí. –

Cuestiones relacionadas