PDA

Ver la Versión Completa : Instanciar Objeto COM


moneiro
10-03-2011, 16:01:23
Buenas!

Necesitaria encontrar la forma de instanciar un objeto COM creado en python en mi aplicación Delphi 7.

Lo he probado desde VB, a través de la función CreateObject() y ha funcionado, pero NO logro dar con la forma de hacerlo mediante Delphi.

Saludos!

P/D: pido disculpas si es re-posting pero no encontre en el foro la respuesta.

Chris
10-03-2011, 16:04:55
Hola moneiro!

Quisiera que nos comentaras si has tratado de hacerlo en Delphi y cómo lo has hecho. "Pon-nos" código, que nos encanta leer código!

moneiro
10-03-2011, 16:11:42
ahi esta el inconveniente, no encuentro la funcion equivalente a CreateObject de VB en Delphi.

he probado con:

obj := CreateCOMObject(GUID_obj) as ???;

no se que lleva después del "as", a qué se refiere.

Chris
10-03-2011, 16:27:38
Es que en Delphi la función que buscas se llama CreateOleObject.

Por ejemplo, te comparta un procedimiento de la clase TOOOWriter, que es una clase que escribí hace rato para interactuar con OpenOffice y éste me permitiera convertir documentos Word en PDF.
function TOOoWriter.Connect: boolean;
begin
if VarIsEmpty(fOpenOffice) then
fOpenOffice := CreateOleObject('com.sun.star.ServiceManager');

fConnected := not (VarIsEmpty(fOpenOffice) or VarIsNull(fOpenOffice));
Result := fConnected;
end;
La variable fOpenOffice es de tipo Variant.

También vas a necesitar agregar a tu uses las unidades Variants, ComObj, y talvez ActiveX si es necesario

moneiro
10-03-2011, 16:35:27
Alabanzas a tí, Chris!

Tema solucionado!:D:D:D

Gracias por la ayuda!