Usuário com melhor resposta
Carregar código externo no programa?

Pergunta
-
Olá pessoal, eu preciso carregar um "form externo" no programa. Ou seja, ele ficar junto com o executável. Caso ele não esteja ali o programa funciona normalmente, porém sem ele. Como se fosse recurso do programa. Se tiver como fazer isso com códigos e funções eu também preciso. É possível fazer isto? Como posso fazer? Obrigado!
Respostas
-
Se você tiver usando Windows Form, cria um outro projeto do tipo Class Library e adiciona um novo formulário nesse novo projeto.
No seu projeto Windows Form vai em References e adiciona a a referência do projeto novo.
Compila o novo projeto.
E chama o form assim:
Dim projeto As new ProjetoDLLExemplo.Form1 projeto.ShowDialog()
Bruno Ferreira de Souza
MVP - Microsoft Valuable Professional
MCTS .NET Framework - Windows Applications
MCPD .NET Framework - Windows Applications
www.maestrodotnet.com.br
@BrunoMaestro- Marcado como Resposta Free4k sexta-feira, 3 de outubro de 2014 14:11
-
Você pode usar o método Exists da classe File. Faz um if se existir a dll na pasta executa o formulário.
If File.Exists("suadll.dll") Then 'Executa o código que chama seu formulário End If
Bruno Ferreira de Souza
MVP - Microsoft Valuable Professional
MCTS .NET Framework - Windows Applications
MCPD .NET Framework - Windows Applications
www.maestrodotnet.com.br
@BrunoMaestro- Marcado como Resposta Free4k sexta-feira, 3 de outubro de 2014 21:20
Todas as Respostas
-
Bom dia,
Ficou meio confusa sua duvida, você poderia explicar melhor para eu tentar te ajudar?
Abraço
Ricardo Cortes Microsoft Contingent Staff
Esse contedo e fornecido sem garantias de qualquer tipo, seja expressa ou implicita.
MSDN Community Support
-
-
-
-
-
Free4K, se você criar um Projeto, do tipo "Library", e nele criar um form, declarando ele, e todos os componentes dele, como publicos, eles poderão ser abertos pelo EXE.
Veja que, o Visual Studio declara todos os componentes de um Form no "Form1.Designer.vb". Normalmente ele delcara como "Protected Withevents CONTROL_NAME As System.Windows.Forms.[CONTROL_TYPE]".
Você pode entrar no arquivo DESIGNER (mande exibir todos os arquivos da solução) e trocar "Protected" por "Public".
E veja isso: Como Carregar um Assembly em tempo de execução para carregar a DLL após o programa inicia (como você disse que pode ser que a DLL esteja lá ou não - então ela será carregar em RUNTIME apenas).- Editado SammuelMiranda quinta-feira, 2 de outubro de 2014 20:05
-
-
Se você tiver usando Windows Form, cria um outro projeto do tipo Class Library e adiciona um novo formulário nesse novo projeto.
No seu projeto Windows Form vai em References e adiciona a a referência do projeto novo.
Compila o novo projeto.
E chama o form assim:
Dim projeto As new ProjetoDLLExemplo.Form1 projeto.ShowDialog()
Bruno Ferreira de Souza
MVP - Microsoft Valuable Professional
MCTS .NET Framework - Windows Applications
MCPD .NET Framework - Windows Applications
www.maestrodotnet.com.br
@BrunoMaestro- Marcado como Resposta Free4k sexta-feira, 3 de outubro de 2014 14:11
-
-
Automaticamente quando você referencia outro projeto da solução a propriedade da referência fica como Copy Local = True. Dessa forma ele copia para a pasta bin. Faz o teste e responde se é isso que queria.
Bruno Ferreira de Souza
MVP - Microsoft Valuable Professional
MCTS .NET Framework - Windows Applications
MCPD .NET Framework - Windows Applications
www.maestrodotnet.com.br
@BrunoMaestro- Editado Bruno Maestro sexta-feira, 3 de outubro de 2014 02:51
-
-
Você pode usar o método Exists da classe File. Faz um if se existir a dll na pasta executa o formulário.
If File.Exists("suadll.dll") Then 'Executa o código que chama seu formulário End If
Bruno Ferreira de Souza
MVP - Microsoft Valuable Professional
MCTS .NET Framework - Windows Applications
MCPD .NET Framework - Windows Applications
www.maestrodotnet.com.br
@BrunoMaestro- Marcado como Resposta Free4k sexta-feira, 3 de outubro de 2014 21:20
-
-
Olá. No Visual Studio ele apareceu a mensagem certinho, porém fora do Visual Studio dá erro.
Imagem do erro: http://snap.ashampoo.com/A2Rg1CPB
- Editado Free4k sexta-feira, 3 de outubro de 2014 23:10