ERRO AO PASSAR PARAMETROS PARA METODO
pessoal criei uma dll no c# e referenciei essa dll no vb6.
a[i quando chama o metodo para passar os parametros me da o seguinte erro
function or interface marked as restricted, or function uses an automation type not supported in Visual Basic
meu metodo no c# esta?
public string Gravar(string[] pDestinatarios, string pAssunto, string pCorpo, string pResposta, int pFormato, int pPrioridade)
{
EmailCorpWs.Mensagem message = new EmailCorpWs.Mensagem();
return message.GravarMensagem(KEY, pDestinatarios, pAssunto, pCorpo, pFormato, pPrioridade, null, pResposta);
}
e estou chamando assim no vb6
Dim s As New CarneEmailCorp.Sender
Dim EmailArray(5) As String
EmailArray(1) = [Ô]rafael.martin@ig.com.br[Ô]
MsgBox s.Gravar(EmailArray(1), [Ô]teste vb6[Ô], [Ô]teste do email corpemail mapfre[Ô], [Ô]rafa-martin@ig.com.br[Ô], 0, 0)
o que esta errado
a[i quando chama o metodo para passar os parametros me da o seguinte erro
function or interface marked as restricted, or function uses an automation type not supported in Visual Basic
meu metodo no c# esta?
public string Gravar(string[] pDestinatarios, string pAssunto, string pCorpo, string pResposta, int pFormato, int pPrioridade)
{
EmailCorpWs.Mensagem message = new EmailCorpWs.Mensagem();
return message.GravarMensagem(KEY, pDestinatarios, pAssunto, pCorpo, pFormato, pPrioridade, null, pResposta);
}
e estou chamando assim no vb6
Dim s As New CarneEmailCorp.Sender
Dim EmailArray(5) As String
EmailArray(1) = [Ô]rafael.martin@ig.com.br[Ô]
MsgBox s.Gravar(EmailArray(1), [Ô]teste vb6[Ô], [Ô]teste do email corpemail mapfre[Ô], [Ô]rafa-martin@ig.com.br[Ô], 0, 0)
o que esta errado
hmmmm....cacilda hein ?!!?
sera que nao eh o array de string, ou pior ainda o int dele nao equivale ao long do vb ?
sera que nao eh o array de string, ou pior ainda o int dele nao equivale ao long do vb ?
Tente o seguinte:
1. Acrescente o NameSpace InteropServices
2. Antes da criação da classe
Isso aà já me quebrou um galho...
Valeu!
1. Acrescente o NameSpace InteropServices
using System.Runtime.InteropServices;
2. Antes da criação da classe
[ClassInterface(ClassInterfaceType.AutoDual)]
[ProgId([Ô]MeuNameSpace.MinhaDLL[Ô])]
[ComVisible(true)]
public class ...
Isso aà já me quebrou um galho...
Valeu!
Tópico encerrado , respostas não são mais permitidas