Usuário com melhor resposta
Dll em C#

Pergunta
-
Bom Dia, Pessoal
Estou com um problema, tenho uma dll desenvolvida em C# de preciso consumir ela em uma programa COBOL, porém não estou visualizando o método dela "CargaProdutos" como mostra o código abaixo:
namespace MultiRecarga { [ClassInterface(ClassInterfaceType.AutoDual)] [ProgId("MultiRecarga.CargaProdutos")] [ComVisible(true)] public class CargaProdutos { public CargaProdutos (string codigo_transacao, string loja_primaria, string nome_primario, string senha_primaria, string versao) { string urlpost = ("https://www.cellcard.com.br/teste/integracao_xml.php"); WebRequest request = WebRequest.Create(urlpost); request.Method = "POST"; request.Credentials = CredentialCache.DefaultCredentials; request.ContentType = "application/x-www-form-urlencoded"; Encoding encoding = Encoding.GetEncoding("ISO-8859-1"); string postData = "codigo_transacao=" + codigo_transacao + "&" + "loja_primaria=" + loja_primaria + "&" + "nome_primario=" + nome_primario + "&" + "senha_primaria=" + senha_primaria + "&" + "versao=" + versao; byte[] data = encoding.GetBytes(postData); request.ContentLength = data.Length; Stream newStream = request.GetRequestStream(); try { newStream.Write(data, 0, data.Length); } catch { throw new Exception("Sem conexão com o Provedor de Serviços"); } finally { newStream.Close(); } using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) using (StreamReader reader = new StreamReader(response.GetResponseStream())) { System.IO.StreamWriter arqprod = new System.IO.StreamWriter("c:\\multix\\tmp\\tabprodutos.xml", false); arqprod.WriteLine(reader.ReadToEnd()); arqprod.Close(); MessageBox.Show("Carga de produtos realizada com sucesso !"); } } } }
porém em cobol quando carrego da dll:
call "MultiRecarga.dll"
// chamo a função
call "CargaProdutos" --> não é visualizada.
Se desenvolvo essa dll em Delphi manipulo normalmente as funções, como deixo uma dll em c# com o mesmo conceito de uma dll em delphi.
Obrigado
Thiago Pasqual Analista de Sistemas COBOL - C#
Respostas
-
Cara, pelo que observei, você não criou um método, criou um construtor.
Substitui o:
public CargaProdutos (string codigo_transacao, string loja_primaria, string nome_primario, string senha_primaria, string versao)
pelo:
public void NOME_METODO (string codigo_transacao, string loja_primaria, string nome_primario, string senha_primaria, string versao)
- Editado alexandre_cavaleiro quinta-feira, 29 de maio de 2014 12:15
- Sugerido como Resposta Daniel Brito br quinta-feira, 29 de maio de 2014 12:19
- Marcado como Resposta Thiago Pasqual sexta-feira, 30 de maio de 2014 12:02
Todas as Respostas
-
Cara, pelo que observei, você não criou um método, criou um construtor.
Substitui o:
public CargaProdutos (string codigo_transacao, string loja_primaria, string nome_primario, string senha_primaria, string versao)
pelo:
public void NOME_METODO (string codigo_transacao, string loja_primaria, string nome_primario, string senha_primaria, string versao)
- Editado alexandre_cavaleiro quinta-feira, 29 de maio de 2014 12:15
- Sugerido como Resposta Daniel Brito br quinta-feira, 29 de maio de 2014 12:19
- Marcado como Resposta Thiago Pasqual sexta-feira, 30 de maio de 2014 12:02
-