Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-01-2016
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 14
pacopenin Va por buen camino
Chequear el valor de una variable OleVariant

Estoy encabezonado con un problemilla que no se resolver.

Os explico. Es una automatización Ole para buscar un correo enviado mediante Outlook.

Código Delphi [-]
var
  ol : OutlookXP.TOutLookApplication;
  ns : OutlookXP.NameSpace;
  fdOutbox : OutlookXP.MAPIFolder;

  MyUserProperty: OutlookXP.UserProperty;

  ItemOL, Prop, props, myInsp, myRef: OLEVariant;
  x : String;
  b : Boolean;
  vt : TVarType;
begin

.....

   ol := OutlookXP.TOutLookApplication.Create(nil);
   ns := ol.GetNamespace('MAPI');
   try
    fdOutbox := ns.GetDefaultFolder(olFolderSentMail);

    if fdOutbox.Items <> nil then
     if fdOutbox.Items.Count > 0  then
      begin
       try
         myInsp := fdOutbox.Items.Find('[Campo De Busqueda]=' + quotedStr('Valor de Busqueda'));

//         b := myInsp = nada;

//         x := format('%p', [myInsp]);
//         x := VarToStr(myInsp);

//         x:= OleVariantToString(myInsp);

//         if (@myInsp <> @myRef) then

          if VarIsNull(myInsp) OR VarIsEmpty(myInsp) then
           mensaje('No encontrado mensaje ' + IntToStr(id))
          else
           saveEMail(myInsp);
       finally
         myInsp := VarNull;
       end;
      end;
   except
     on E: SysUtils.Exception do
      begin
       MostrarError('Se produjo un error al recuperar el correo enviado.', E.Message);
       raise;
      end;
   end;

La variable myInsp toma el valor $00000000 cuando no encuentra el valor buscado, pero no soy capaz de poner una condición para chequear eso. No puedo pasarlo a string, ni a entero... incluso hice una búsqueda de un elemento que no puede existir y lo comparaba. Nada, que no doy con ello.

Se os ocurre algo?
__________________
http://www.gestionportable.com
Responder Con Cita
  #2  
Antiguo 07-01-2016
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola Francisco,

¿Probaste con algo así?

Código Delphi [-]
if VarIsClear(myInsp) then
  ....

¿Y con algo así?

Código Delphi [-]
if IUnknown(Contacts) = nil then
  ....

Lo tomé de este hilo en Stakoverflow y tal vez te sirva.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 07-01-2016
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 14
pacopenin Va por buen camino
Estoy probando lo de VarIsClear y parece que funciona.

Había estado mirando ese post y se me había pasado por alto esa opción. Debió ser cuando estaba ya medio saturado de ver cosas.

Gracias
__________________
http://www.gestionportable.com
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Asignar el valor de una variable de php a una variable js que puede no existir jandroruiz PHP 5 04-03-2013 12:23:02
Chequear ingreso de valor numerico rogisau25 Varios 1 28-02-2008 13:37:45
Valor de una variable en un TMemo Drake OOP 5 18-07-2006 15:43:07
Guardar valor en una variable... hademon SQL 1 14-09-2005 17:16:57
Ejecutar valor de una variable bbjb OOP 2 19-02-2004 16:58:46


La franja horaria es GMT +2. Ahora son las 14:00:58.


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
Copyright 1996-2007 Club Delphi