PDA

Ver la Versión Completa : Metodos del API Lotus Notes!!


DB-ADO
14-03-2005, 17:52:46
Hola amigos, hace 3 horas y media estoy buscando algunos documentos con los metodos de la API del Lotus Notes.
La API ya la he registrado y creado. Lo que tengo que hacer es abrir en Lotus Notes el siguiente archivo ('pablopab.nsf'). Este archivo es un temporal con la base de datos del mail de Lotus Notes, o sea, La hora a que llego el mail, el mensaje, etc,etc,etc.
Estoy trabajando en Delphi 5, la libreria del API de Lotus Notes es notes32.tlb.
y lo que hice es parecido a lo siguiente


var
Session :OLEVariant;
DataBase : OLEVariant;
begin
Session:=CreateComObject(DIID_NOTESSESSION) as IDispatch ;
DataBase := Session.GETDATABASE ('Local','D:\Archivos de programa\lotus\notes\data\mail\pablopab.nsf',True);
Session.Initialize (' ');
end;


Lo primero que hace este codigo es abrir el Lotus Notes
Luego el programita tira la siguiente excepcion

'Method 'Initialize' no suported by automation object

Supongo que es algo de que el objeto no esta creado.

Espero que puedan ayudarme. Si no pueden por lo menos guienme con una documentacion

VolaRe
14-03-2005, 18:49:27
Lo primero que tengo que decir es que esta respuesta esta sacada del libro 'Los Tomos de Delphi: Delphi sin problemas', y voy a copiar exactamente lo que dice de este problema, espero que te puede servir de ayuda.

Posible causa de error

Puede haber intentado llamar a un metodo no existente para un objeto de Automatización OLE. Por ejemplo, lo siguiente generará este mensaje de error:


var
ExcelObj: Variant;
begin
ExcelObj := CreateOLEObject('Excel.Application');
...
ExcelObj.SaveAll;
//error: metodo SaveAll no soportado por automation Object


Ya que Excel no expone un método "SaveAll".

Solución rápida
Localice el archivo .OLB(Object Library)(o el archivo *.TLB, *.OCX, *.DLL, o *.EXE) que desea importar
Seleccione Project | Import Type Library.
Pulse el botón Add, navegue hasta el directorio apropiado, y seleccione el archivo.
Seleccione Install para instalarlo dentro de un paquete o Create Unit para crear una unidad y añadirla al proyecto actual.


Informacion adicional

Si utiliza enlace temprano (early binding), el compilador puede capturar estos tipos de errores. Si utiliza enlace tardio (late binding), no notará el problema hasta que el código sea llamado en tiemo de ejecución. Si importa la biblioteca de tipos del objeto OLE, puede utilizar el archivo .PAS creado (enlace temprano). Delphi 5 y superiores proporcionan muchos servidores OLE en la página Servers de la Paleta de Componentes. Puede también evaluar la suite de componentes para Microsoft Office OfficePartner, distribuida por Danysoft.

Bueno chavalote esto es todo lo que pone sobre este error, espero que te resuelva tu problema, suerte compañero :D