Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
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 19-11-2014
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Poder: 16
shoulder Va por buen camino
outlook microsoft 2010

Porque teniendo el outlook cerrado tengo que decir al usuario que trabaje con el outlook minimizado para que funcionen todas las sentencias que hice de envio de mail en el programa, delphi 7.

la sentencia que uso para ver si esta abierto y comenzar es esta

Cita:
try
Outlook := GetActiveOleObject('Outlook.Application');
except
Outlook := CreateOleObject('Outlook.Application');
end;
.......
Si oulook esta minimizado envia mails, los muestra..pero si lo tienen cerrado no lo abre y sale un cartel de error, hay otra forma de activarlo?.
Gracias
Responder Con Cita
  #2  
Antiguo 19-11-2014
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 14
pacopenin Va por buen camino
A mi me funciona si problema. ¿Que error sale? ¿En que línea se produce el error? ¿Con qué versión de Outlook estás probando?
__________________
http://www.gestionportable.com
Responder Con Cita
  #3  
Antiguo 20-11-2014
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Poder: 16
shoulder Va por buen camino
Outlook Microsoft 2010

Me viene un cartel de delphi "OPERACION ANULADA", ahora de donde saca ese mensaje ni idea. Tengo Outlook Microsoft 2010.
Responder Con Cita
  #4  
Antiguo 20-11-2014
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 14
pacopenin Va por buen camino
Yo utilizo éste código y funciona sin problemas en 2007-2010-2013 en varias decenas de instalaciones...

Código Delphi [-]
uses

   OutlookXP,

var
  ol : OutlookXP.TOutLookApplication;
  mi : OutlookXP.TMailItem;
  ns : OutlookXP.NameSpace;
  fdInbox, fdOutbox : OutlookXP.MAPIFolder;
const
 olByValue = 1;

     .......

   try
     ol := OutlookXP.TOutLookApplication.Create(nil);

     ns := ol.GetNamespace('MAPI');
     fdInbox := ns.GetDefaultFolder(olFolderInbox);
     fdOutbox := ns.GetDefaultFolder(olFolderSentMail);

     mi := TmailItem.Create(nil);

     mi.ConnectTo( ol.CreateItem( olMailItem) as MailItem);
     mi.Subject := Datos.ZEMailDESCRIPCION.asstring;

     if Datos.ZEMailPARA.asstring <> '' then
      mi.Recipients.Add(Datos.ZEMailPARA.value);

     if Datos.ZEMailPARA_CC.asstring <> '' then
      mi.CC := Datos.ZEMailPARA_CC.asstring;
     if Datos.ZEMailPARA_CCO.asstring <> '' then
      mi.BCC := Datos.ZEMailPARA_CC.asstring;

     .....

   finally
     mi.Free;
     ns.Logoff;
   end



De todas formas, creo a partir de la versión del 2010 había un cambio. Trata de utilizar solo la opcion de Create...
__________________
http://www.gestionportable.com
Responder Con Cita
  #5  
Antiguo 21-11-2014
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Poder: 16
shoulder Va por buen camino
Outlook Microsoft 2010

Primero Gracias por tus respuestas, intente tu forma, otra que encontre parecida, me da siempre el mismo error. Si el outlook no esta abierto y minimizado me sale "El servidor no esta disponible" u "Operacion Anulada". Y no me deja hacer nada. Si tengo el outlook abierto funciona todo perfecto. Te muestro las forma que use.


Código Delphi [-]

  Outlook := TOutlookApplication.Create( nil );
  try
      Outlook.Connect;
      try
        olNameSpace := Outlook.GetNamespace('MAPI');
        olNameSpace.Logon('', '', False, False);
        try
           MailIt := TMailItem.Create( nil );
           MailIt.ConnectTo( Outlook.CreateItem( olMailItem ) as MailItem );
            try
             MailIt.Recipients.Add.........;
             ......................................
             MailIt.Display;
            finally
              MailIt.Free;
            end;
         finally
              MailIt.Free;
         end;
      finally
     //   Outlook.Disconnect;
      end;
   finally
      Outlook.free;
    end;

o la forma del ejemplo del post 1-
Código Delphi [-]
 try
       Outlook := GetActiveOleObject('Outlook.Application');
     except
      Outlook := CreateOleObject('Outlook.Application');
     end;

      MailItem := Outlook.CreateItem(olMailItem);
      MailItem.Recipients.Add(...........
...............................
      MailItem.Display;
      // MailItem.send;
      Outlook := Unassigned;
     
    end

Última edición por Casimiro Notevi fecha: 21-11-2014 a las 16:16:37.
Responder Con Cita
  #6  
Antiguo 29-12-2014
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Poder: 16
shoulder Va por buen camino
Operacion Anulada

Hola sigo con este problema sin poder resolverlo, Si el outlook esta abierto y minimizado funziona todo perfecto, si el outlook esta cerrado viene el cartel de delphi "Operacion Anulada". Me esta faltando un uses?, ya proble de todo y sigo con el error.


Gracias.
Responder Con Cita
  #7  
Antiguo 02-01-2015
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 14
pacopenin Va por buen camino
Parece algo relacionado con permisos (prueba a ejecutar tu programa como administrador) o algo de configuración de outlook. ¿Probaste en algún ordenador más?. O mira la configuración del antivirus. Si puedes depurarlo, localiza la línea en la que da el error.

No se me ocurre otra cosa.
__________________
http://www.gestionportable.com
Responder Con Cita
  #8  
Antiguo 06-01-2015
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Poder: 16
shoulder Va por buen camino
Outlook Microsoft 2010

Hola lo probe mas o menos en 15 Pcs, la linea que me da el error es

Cita:

try
Outlook := GetActiveOleObject('Outlook.Application');
except
Outlook := CreateOleObject('Outlook.Application');
end;
Responder Con Cita
  #9  
Antiguo 06-01-2015
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 746
Poder: 18
TiammatMX Va camino a la fama
Cita:
Empezado por shoulder Ver Mensaje
Hola lo probe mas o menos en 15 Pcs, la linea que me da el error es ...
Prueba a quitarle las comillas..., sospecho que se espera un OBJETO, no una CADENA.
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita
  #10  
Antiguo 07-01-2015
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 14
pacopenin Va por buen camino
Echa un ojo a ésto. Creo que ya lo había sugerido.

http://www.clubdelphi.com/foros/showthread.php?t=83932

Sigues si indicar en que línea da el error, solo comentas el bloque que incluye dos instrucciones.
Te sugiero que utilices las otras formas que te hemos comentado y trates de identificar en donde se produce el error de forma más exacta. Si no arrinconamos el problema dificilmente podremos darle solución.

Revisa en la configuración de Outlook: Archivo-Opciones-Centro de confianza-Configurar centro de confianza-Acceso mediante programación y verifica que no esté bloqueado.

Si buscas GetActiveOleObject Outlook en google verás que no eres el primero al que le pasa. Esa instrucción me parece que falla a partir de Outlook 2010. El código que te pasé está funcionando en varias decenas de instalaciones y nunca me ha dado problema (hasta el momento) en XP, W7 y W8, por eso sugerí que revises configuración de permisos o antivirus.
Si al final no consigues solucionarlo te sugiero que utilices algún componente de envío de correos vía MAPI como jvMail (del las JVCL) ó SMail (de smcomponents), ambos gratuítos y que funcionan bien. Yo utilizo el jvMail cuando no tienen Outlook y es necesario usar Mail, Outlook Express ó Thunderbird por ejemplo, aunque funciona sin problemas en Outlook también.

Saludos,
__________________
http://www.gestionportable.com
Responder Con Cita
  #11  
Antiguo 08-01-2015
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Poder: 16
shoulder Va por buen camino
Outlook Microsoft 2010

Primero Gracias por las respuestas, identifique el error!!!! al menos es algo....

es en esta linea donde me da operacion anulada sino tengo abierto el outlook.

Cita:
MailItem.Recipients.Add(edit3.Text+'@hormail.com');

Gracias.
Responder Con Cita
  #12  
Antiguo 08-01-2015
Avatar de pacopenin
pacopenin pacopenin is offline
Miembro
 
Registrado: sep 2010
Ubicación: Asturias
Posts: 382
Poder: 14
pacopenin Va por buen camino
Vamos avanzando.

Tanto en el ejemplo que yo te puse como en otro que pusiste tú que tampoco te funcionaba, tras crear un elemento de tipo TMailItem se hace una operación ConnectTo. Creo recordar cuando lo preparé (que por cierto también me dió mucha guerra) que era importante.

Si me permites otro consejo: crea un proyecto vacío, con un formulario y tres botones y que cada uno utilice uno de los sistemas propuestos para enviar el correo. Elimina todo lo superfluo : Añade un asunto, una dirección de envío y prueba sin más. Si funciona vas añadiendo elementos. No te llevará demasiado y seguro que será más facil localizar el problema.

Saludos.
__________________
http://www.gestionportable.com
Responder Con Cita
  #13  
Antiguo 08-01-2015
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Poder: 16
shoulder Va por buen camino
Outlook Microsoft 2010

Probe de todas las formas posibles con connect sin connect cambiando el nombre del variant mailitem. Pero si tengo cerrado el outlook en la linea

Cita:
MailItem.Recipients.Add(edit3.Text.....

Operacion Anulada.

Como que el recipiente de casilla esta cerrado?.
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
No puedo instalar Microsoft Visual Studio 2010 Professional lsedr La Taberna 20 06-12-2013 00:25:48
outlook microsoft office shoulder Varios 5 10-12-2011 14:11:25
Delphi development offered for Microsoft Visual Studio 2010 JXJ Noticias 0 22-04-2010 21:36:17
Crear una Cita de Microsoft Outlook adebonis Servers 6 02-12-2005 20:03:38
Delphi y Microsoft Outlook Alexander Servers 0 13-09-2004 22:56:58


La franja horaria es GMT +2. Ahora son las 01:01:01.


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