[RESOLVIDO] Consumo de objeto COM+ (DLL)

Discussão em 'EMS , HCM e Totvs 11' iniciado por erickles, Dezembro 23, 2014.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. erickles

    erickles Membro Participativo

    Bom dia pessoal,

    Criei em C# uma dll para envio de e-mails e preciso usa-la no progress. o código da classe ficou desta forma:

    Código:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Net.Mail;
    using System.IO;
    using System.Runtime.InteropServices;
    
    
    namespace EnviaEmail
    {
        [Guid("61495415-e035-4bc5-bc00-70e46c9766b8")]
        [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
        public interface IEnviaEmail
        {
            [DispId(1)]
            void EnviaMail(string fromMail, string toMail, string bodyMail, string subjectMail, string attachmentsMail, string smtpMail);
        }
    
        [ComVisible(true)]
        [Guid("0262794c-1858-40d8-90ca-cfe765913d3c")]
        [ClassInterface(ClassInterfaceType.None)]
        [ComSourceInterfaces(typeof(IEnviaEmail))]
        [ProgId("EnviaEmail")]
        public class clsEnviaEmail : IEnviaEmail
        {
           
            public clsEnviaEmail(){}
    
            [ComVisible(true)]
            public void EnviaMail(string fromMail, string toMail, string bodyMail, string subjectMail, string attachmentsMail, string smtpMail)
            {
    
                string[] attachmentsSplit = attachmentsMail.Split(new Char[] { ',' });
                // Create the mail message
                MailMessage mail = new MailMessage();
    
                // Set the addresses
                mail.From = new MailAddress(fromMail);
                mail.CC.Add(toMail);
    
                // Set the content
                mail.Subject = subjectMail;
                mail.IsBodyHtml = true;
                mail.To.Add(toMail);
    
                foreach (string s in attachmentsSplit)
                {
                    if (s.Trim() != "")
                        mail.Attachments.Add(new Attachment(s));
                }
    
                using (StreamReader reader = File.OpenText(bodyMail))
                {
                    mail.Body = reader.ReadToEnd();
                }
    
                // Send the message
                SmtpClient smtp = new SmtpClient(smtpMail);
                smtp.Send(mail);
            }
        }
    }
    
    Quando abro o Progress COM Object Viewer, o método (ou procedure), aparece desta seguinte forma:

    [​IMG] ​

    Sabem como posso usar isto no progress?
  2. lwazevedo

    lwazevedo Membro Ativo

Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página