s.ono 0 Denunciar post Postado Setembro 13, 2010 Boa tarde. Sou beginner em VB.NET, e faz pouco tempo que comecei a estagiar na área de programação. Me desculpem se a pergunta for tonta. Gostaria de saber se existe uma maneira de passar valores de um Projeto para outro, sendo que um está em VB.NET e o outro, para o qual preciso passar os valores, está em C#. Obrigada pela atenção Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Setembro 13, 2010 Pode sim, sem problema. Compartilhar este post Link para o post Compartilhar em outros sites
s.ono 0 Denunciar post Postado Setembro 13, 2010 Pode sim, sem problema. Como? Compartilhar este post Link para o post Compartilhar em outros sites
sublyer 0 Denunciar post Postado Setembro 13, 2010 Seu outro programa é um .exe ou uma dll? Att Compartilhar este post Link para o post Compartilhar em outros sites
s.ono 0 Denunciar post Postado Setembro 14, 2010 Seu outro programa é um .exe ou uma dll? Att É um .exe Estou trabalhando com 3 Projetos que ficam no mesmo Solution.. E um dos Projetos foi feita em C#. Daí, eu precisava passar valores de um Projeto (que está em VB) para outro (que está em C#). Tem como? É fácil para alguém praticamente leiga como eu? rs Obrigada pela atenção. Compartilhar este post Link para o post Compartilhar em outros sites
s.ono 0 Denunciar post Postado Setembro 15, 2010 Oi Pessoal. Como não consegui nenhuma resposta para minha dúvida, resolvi passar todo o Código do outro Projeto (que está em C#) para o mesmo Projeto (que está em VB). Mas chegou em uma parte que ele começa a usar BackgroundWorker, e eu não sei como passar isso no VB. Alguém poderia me ajudar? A parte do código que não estou conseguindo converter é: >> em C#: private void button1_Click(object sender, EventArgs e) { BackgroundWorker backgroundWorker = new BackgroundWorker(); backgroundWorker.DoWork += new DoWorkEventHandler(backgroundWorker_DoWork); backgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorker_RunWorkerCompleted); backgroundWorker.RunWorkerAsync(); } >> tentando passar para o VB: Private WithEvents backgroundWorker As System.ComponentModel.BackgroundWorker Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click backgroundWorker.DoWork += New DoWorkEventHandler(backgroundWorker_DoWork) backgroundWorker.RunWorkerCompleted += New RunWorkerCompletedEventHandler(backgroundWorker_RunWorkerCompleted) backgroundWorker.RunWorkerAsync() End Sub Mas está dando erro... :( Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Setembro 15, 2010 Hum... agora entendi você quer passar parametros de uma aplicação em execução pra outra aplicação que esta em execução? Compartilhar este post Link para o post Compartilhar em outros sites
s.ono 0 Denunciar post Postado Setembro 16, 2010 Hum... agora entendi você quer passar parametros de uma aplicação em execução pra outra aplicação que esta em execução? Isso. O Projeto em VB é uma ERP, e um dos clientes pediu para que o sistema pudesse imprimir boletos. Encontramos na internet um código pronto para gerar boletos, só que ele estava em C#. Adicionamos esse Projeto que está em C# para a mesma Solution que está a ERP. O boleto precisa ser gerado logo após que é feita a Nota Fiscal de Saída (que está no projeto ERP). Daí, eu precisava passar esses valores (como por exemplo, o ID da Nota Fiscal que foi gerada no momento) para o projeto que gera o Boleto (que está em C#). Tem como? Como eu não sabia se tinha, e preciso terminar esse processo o mais rápido possível, acabei começando a converter o C# para VB. Agora não sei mais o que faço. :( Agradeço pela atenção. ps: só para relembrar.. sou super beginner em VB.NET...rs Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Setembro 16, 2010 Se achou um codigo pronto para gerar o boleto, ele deve ser um DLL após compilado, então em seu projeto atual faça o import dessa DLL e gere o boleto no proprio projeto sem ter q passar nada pra o outro. Compartilhar este post Link para o post Compartilhar em outros sites
s.ono 0 Denunciar post Postado Setembro 30, 2010 Se achou um codigo pronto para gerar o boleto, ele deve ser um DLL após compilado, então em seu projeto atual faça o import dessa DLL e gere o boleto no proprio projeto sem ter q passar nada pra o outro. Ah sim.. Foi o que acabei fazendo. Converti o código C# para VB, importando a .dll. Mas agora to com uma outra dúvida.. Teria como eu editar essa .dll que veio junto com o projeto que baixamos? Obrigada pela atenção. Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Setembro 30, 2010 Editar um DLL não é possível. Compartilhar este post Link para o post Compartilhar em outros sites
s.ono 0 Denunciar post Postado Outubro 4, 2010 Se achou um codigo pronto para gerar o boleto, ele deve ser um DLL após compilado, então em seu projeto atual faça o import dessa DLL e gere o boleto no proprio projeto sem ter q passar nada pra o outro. Entendi.. Fiz um ADD Existing Refence para adicionar esse projeto novo (que está em C#) A .dll já está na pasta para eu poder usar as funções dela também.. Mas tem uma coisa que está me deixando confusa: como que eu faria para abrir um form que está nesse novo projeto(C#) de um form que esta em outro(VB.NET) ? Por exemplo, vi num projeto pronto, que tinha como fazer assim: Dim variavel As New Global.namespace.class variavel.show Onde esta variável estava sendo declarada no form de um projeto, para abrir o form de outro projeto. Então, na minha maior inocência (rs) tentei fazer o mesmo com o form que está escrito em C#, mas não deu certo. Ele nem me mostra a opção .show para a variavel que declaro Alguma ajuda, please? Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Outubro 4, 2010 Independente da linguagem que a classe foi escrita, ela deve iniciada conforme a linguagem que você esta utilizando. Eu não sei VB, mas seguinte. Se você declarou Dim variavel As New Global.namespace.class você deve ter acesso a todas as propriedades e métodos publicos dela: variavel.propriedade1, variavel.Metodo1(), etc.. Agora que tipo de form você quer acesar? Pois utilizo esse projeto (do qual sou colaborador) pra emitir boletos: http://boletonet.codeplex.com/ Ele é bem completo e escrito em C#. Emite uma gama de bancos e aos poucos esta sendo implantado a baixa de arquivos. Eu implementei a baixa do BRB e CEF. Compartilhar este post Link para o post Compartilhar em outros sites
s.ono 0 Denunciar post Postado Outubro 4, 2010 Independente da linguagem que a classe foi escrita, ela deve iniciada conforme a linguagem que você esta utilizando. Eu não sei VB, mas seguinte. Se você declarou Dim variavel As New Global.namespace.class você deve ter acesso a todas as propriedades e métodos publicos dela: variavel.propriedade1, variavel.Metodo1(), etc.. Agora que tipo de form você quer acesar? Pois utilizo esse projeto (do qual sou colaborador) pra emitir boletos: http://boletonet.codeplex.com/ Ele é bem completo e escrito em C#. Emite uma gama de bancos e aos poucos esta sendo implantado a baixa de arquivos. Eu implementei a baixa do BRB e CEF. Oi Ivan! Esse é o projeto que estou usando... hehehe. Adicionei o BoletoNet para que o ERP pudesse imprimir boletos. Mas acho que consegui dar um jeito aqui para chamar aquela tela Main, mas acho que foi meio gambiarra.. http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif Dim NomeForm As String = "Main" Dim Main_boletonet As Form = Activator.CreateInstance("BoletoNet.Arquivo", "BoletoNet.Arquivo." & NomeForm).Unwrap() ... Main_boletonet.show() Como você chama essa tela Main a partir do form que está usando? (que no meu caso, está na linguagem VB) E como você passa os valores para ela? Muito obrigada pela atenção e pela paciencia. :) Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Outubro 4, 2010 Seguinte, no projeto "BoletoNet.Arquivo", é apenas um Projeto WinForms demonstrado como você deve utilizar o "BoletoNet.Net" para montar o boleto. Para utilizar você precisa fazer referencia somente a "BoletoNet.Net" e montar conforme sua necessidade, entendeu? Ou seja você não deve utilizar o BoletoNet.Arquivo dentro da sua aplicação. somente o BoletoNet.Net Compartilhar este post Link para o post Compartilhar em outros sites
s.ono 0 Denunciar post Postado Outubro 5, 2010 Seguinte, no projeto "BoletoNet.Arquivo", é apenas um Projeto WinForms demonstrado como você deve utilizar o "BoletoNet.Net" para montar o boleto. Para utilizar você precisa fazer referencia somente a "BoletoNet.Net" e montar conforme sua necessidade, entendeu? Ou seja você não deve utilizar o BoletoNet.Arquivo dentro da sua aplicação. somente o BoletoNet.Net Hmmm. Acho que entendi mais ou menos.. Teria como você me dar um exemplo, por favor? Eu iria em Add Existing Project em cima da minha Solution, e escolheria: \boletonet-65141\Boleto.Net\Boleto.Net\Boleto.Net(Visual C# Project File) ? E de acordo com o exemplo em BoletoNet.Arquivo, eu mesma montaria o form e colocaria os códigos dentro desse Projeto que acabei de adicionar à minha Solution? É isso? Aiaiai... ficando meio confusa.. :( Desculpa pelo trabalho... Compartilhar este post Link para o post Compartilhar em outros sites
sublyer 0 Denunciar post Postado Outubro 5, 2010 Olá, Use da seguinte forma para invocar outro programa em runtime. System.Diagnostics.ProcessStartInfo processo = new System.Diagnostics.ProcessStartInfo("notepad.exe", "argumento 1 argumento2"); System.Diagnostics.Process.Start(processo); Atenciosamente Compartilhar este post Link para o post Compartilhar em outros sites
s.ono 0 Denunciar post Postado Outubro 5, 2010 Olá, Use da seguinte forma para invocar outro programa em runtime. System.Diagnostics.ProcessStartInfo processo = new System.Diagnostics.ProcessStartInfo("notepad.exe", "argumento 1 argumento2"); System.Diagnostics.Process.Start(processo); Atenciosamente Olá sublyer! Obrigada pela ajuda e pela atenção. Sobre o código que você me mandou, oq seriam os "argumentos" ? Atenciosamente Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Outubro 5, 2010 Eu iria em Add Existing Project em cima da minha Solution, e escolheria: \boletonet-65141\Boleto.Net\Boleto.Net\Boleto.Net(Visual C# Project File) ? Não. Você deve ir em Add Reference e selecionar apenas a DLL Boleto.Net.DLL. Feito isso, você deve apenas ver como foi deito no Boleto.Arquivo, para fazer no seu. Ou seja, você usa somente a DLL para gerar o boleto dentro da sua solução conforme sua necessidade e como desejar. Compartilhar este post Link para o post Compartilhar em outros sites
s.ono 0 Denunciar post Postado Outubro 6, 2010 Eu iria em Add Existing Project em cima da minha Solution, e escolheria: \boletonet-65141\Boleto.Net\Boleto.Net\Boleto.Net(Visual C# Project File) ? Não. Você deve ir em Add Reference e selecionar apenas a DLL Boleto.Net.DLL. Feito isso, você deve apenas ver como foi deito no Boleto.Arquivo, para fazer no seu. Ou seja, você usa somente a DLL para gerar o boleto dentro da sua solução conforme sua necessidade e como desejar. Boa tarde Ivan! Fiz oq você disse, e deu certo. ^^ Mas agora, não estou conseguindo passar valores para esse form do Boleto. Você sabe como eu poderia fazer isso? No momento estou usando a Public Property Set e Get.. Mas, quando chamo o form do outro projeto e pego os valores, eles vêm como Null. ' Primeiro Form - frmFinPagamentos.vb Dim frmMain_boleto = New Global.BoletoNet.frmMain ... frmMain_boleto.CedenteCNPJ = 01234567/0001-91 frmMain_boleto.cedenteRazaoSocial = "Empresa ABC" Segundo Form - frmMain.cs public partial class frmMain : Form { private string _cedenteCNPJ; private string _cedenteRazaoSocial; ... public string CedenteCNPJ { get { return _cedenteCNPJ; } set { _cedenteCNPJ = value; } } public string cedenteRazaoSocial { get { return _cedenteRazaoSocial; } set { _cedenteRazaoSocial = value; } } ... string cCNPJ = CedenteCNPJ; string cRazaoSocial = cedenteRazaoSocial; //aqui, ele retorna com valores Null... Muito obrigada pela atenção. Compartilhar este post Link para o post Compartilhar em outros sites