DÊVIDA COM DOIS SISTEMAS

MARCELOKROL 23/07/2014 13:16:31
#439773
Pessoal

Tenho dois sistemas em vb6, ambos para ramos de comercio diferentes, e neles existem várias telas (forms) que são a mesma coisa, tipo contas a receber, relatórios,e outros. O sistema também utiliza a mesma estrutura para as tabelas do banco de dados, mais não é o mesmo banco, até pensei de unificar os bancos mais não sei se dá certo, bom isso é outro assunto.
A duvida se eu criar uma pasta [ô]Comum[ô] por exemplo e nela eu colocar essas telas que são iguais nos dois sistemas funciona perfeitamente?
Estou ciente que ao alterar uma tela dessas terei que recompilar os dois sistemas!

Obrigado
RO.DRIGOSG 23/07/2014 15:10:32
#439779
Marcelo,

Tem sim, você tem que criar um projeto do tipo DLL e colocar tudo que é igual nele, dai você faz a chamada nos outros projetos com Object. Com isso você não precisa ficar recompilando os outros projetos toda hora.

Segue exemplo:

Option Explicit

Private obj As Object
Set obj = CreateObject([Ô]ProjetoDLL[Ô])


Mas existe um problema nisso, quando você faz esse tipo de referencia não vai aparecer nada quando você colocar o ponto, nenhum nome de função ou sub dos forms do projeto DLL.

Ex:

Se você colocar em uma sub assim:

Private sub .....()

obj.Form.Show

End Sub
MARCELOKROL 23/07/2014 19:29:32
#439794
ok, RO_DRIGOSG eu ja tinha pensado nisso, só que os forms que colocar na dll não vão ficar dentro do MdiForm quando chamadas, eu tem algum método para que os forms de dentro da dll fiquem dentro do Mdi quando chamados
ROBSON 23/07/2014 21:42:13
#439803
é bastante simples, mesmo sem dll.
vários projetos podem usar o mesmo form.
Não é necessário ter vários forms iguais. isto se chama reutilização de código, ou reciclagem de código Basta ter uma pasta para estes forms comuns.

EPISCOPAL 24/07/2014 14:17:23
#439828
Resposta escolhida
Citação:

só que os forms que colocar na dll não vão ficar dentro do MdiForm quando chamadas




TEM UM JEITO!!! JA TINHA RESPONDIDO A UM COLEGA

http://vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=437559&pagina=1
Tópico encerrado , respostas não são mais permitidas