Tópico anterior Próximo tópico Novo tópico
VB.NET
#500166 - 05/07/2022 21:08:22 | ||||
![]() AMELINHACODE SAO PAULO Cadast. em:Junho/2019 ![]() |
Última edição em 05/07/2022 21:09:22 por AMELINHACODE Boa noite pessoalPossuo 2 projetos distintos... alguns form´s uso os mesmo nos 2 projetos... e alguns form´s são exclusivo aquele projeto especifico. Possuo um form chamado Parcelas que é compartilhado em ambos os projetos Possuo um form chamado PDV que é exclusivo do projeto PDV.vbp exemplo: 1. Abro o projeto PDV.vbp que vai iniciar o form PDV automaticamente. 2. Cliente chega, precisa pagar uma parcela, chamo o form Parcelas (que eles esconde o form PDV) e abre o form Parcelas.... 3. Faço a tarefa que preciso fazer, quando eu fechar o form Parcelas ele deve reabrir o for PDV (codigo abaixo) Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) If vChamouCaixa = 'PDV' Then Parcelas.Hide PDV.Show 1 Else Parcelas.Hide End If End Sub Até aqui tudo ok No outro projeto chamado Principal.vbp.... cliente chega e quer pagar uma parcela... abro normal, dou baixa na parcela do cliente, mais quando fecho a janela de parcelas dar erro: (marquei de vermelho o erro é o motivo) Quando fechar vai chamar o seguinte contigo: Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) If vChamouCaixa = 'PDV' Then Parcelas.Hide PDV.Show 1 'erro acontece aqui pq o PDV.frm não faz parte do projeto Principal.vbp... então não tem como citar ele aqui Else Parcelas.Hide End If End Sub Então alguma duvidas sugiram: 1. Como usar o mesmo form nos 2 projetos sem ter o form citado em um dos projetos. 2. Caso eu crie um variável e coloque num modulo separado de cada projeto citando o projeto que chamou aquele form parcelas... e caso os 2 projetos estejam aberto ao mesmo tempo. Fiquei meio perdida como fazer isso no vb6 |
|||
#500167 - 06/07/2022 00:11:05 | ||||
![]() JABA CABO FRIO Cadast. em:Agosto/2005 ![]() |
Como se trata do VB6, eu duplicaria os forms e jogava um para cada projeto, fazendo as devidas mudanças. Assim fica cada coisa no seu devido lugar e não será necessário ter qualquer gambiarra.
_______________________________________________________________________________________________ Se a alma ou espírito são imateriais, como eles fazem para se localizar quando o corpo está em movimento? |
|||
#500169 - 06/07/2022 07:35:20 | ||||
![]() AMELINHACODE SAO PAULO Cadast. em:Junho/2019 ![]() |
Citação: : Como se trata do VB6, eu duplicaria os forms e jogava um para cada projeto, fazendo as devidas mudanças. Assim fica cada coisa no seu devido lugar e não será necessário ter qualquer gambiarra. Fica meio inviável... Exemplo: Faço correções ou melhorias no form Parcelas de um projeto... ai vou ter q fazer no form Parcelas do outro projeto (ou ter q ficar copiando form entre pastas, correndo o risco de por descuido substituir o form errado) |
|||
#500170 - 06/07/2022 07:55:50 | ||||
![]() SAMUKA PEDREIRA - SP Cadast. em:Janeiro/2010 ![]() |
Existe uma outra forma, que é colocar esse form que você não quer duplicar dentro de um projeto ActiveX DLL, e depois relacionar essa DLL nos dois projetos.
Mas precisa ver se realmente compensa, porque as vezes o form, pode estar usando funções de módulos do projeto. Você também pode relacionar o mesmo arquivo Parcela.frm em dois projetos diferentes. Só é preciso ter cuidado pra que a mudança dentro de um projeto, não cause problema no outro. |
|||
#500171 - 06/07/2022 08:00:01 | ||||
![]() ALTAFIN LONDRINA Cadast. em:Janeiro/2004 ![]() |
Última edição em 06/07/2022 08:04:38 por ALTAFIN Alguns anos atrás (12 anos![]() Tópico do VBMania sobre component MDIExtend A outra dica do SAMUKA também acho que funciona, de referenciar o mesmo Form em dois projetos diferentes, nunca testei assim mas teoricamente funcionaria. |
|||
#500172 - 06/07/2022 18:35:46 | ||||
![]() KERPLUNK RIO GRANDE DO SUL Cadast. em:Junho/2009 ![]() |
Você pode simplesmente referenciar o form em dois(ou mais) projetos e verificar se o form que você quer esconder está carregado. Algo tipo:
If PDV Not Is Nothing Then PDV.hide end if _______________________________________________________________________ Virei Oráculo! The end is nigh, be ready for the nukes! |
|||
#500177 - 07/07/2022 09:10:58 | ||||
![]() AMELINHACODE SAO PAULO Cadast. em:Junho/2019 ![]() |
Citação: : Existe uma outra forma, que é colocar esse form que você não quer duplicar dentro de um projeto ActiveX DLL, e depois relacionar essa DLL nos dois projetos. Mas precisa ver se realmente compensa, porque as vezes o form, pode estar usando funções de módulos do projeto. Você também pode relacionar o mesmo arquivo Parcela.frm em dois projetos diferentes. Só é preciso ter cuidado pra que a mudança dentro de um projeto, não cause problema no outro. O problema é que o projeto PDV possui outros forms e módulos somente dele... ficaria enviável jogar todos |
|||
#500178 - 07/07/2022 09:15:12 | ||||
![]() AMELINHACODE SAO PAULO Cadast. em:Junho/2019 ![]() |
Citação: : Você pode simplesmente referenciar o form em dois(ou mais) projetos e verificar se o form que você quer esconder está carregado. Algo tipo: If PDV Not Is Nothing Then PDV.hide end if o problema está na hora de criar o executável.... ele verificar que o form pdv nao encontra-se no projeto Principal |
|||
#500179 - 07/07/2022 10:24:24 | ||||
![]() SAMUKA PEDREIRA - SP Cadast. em:Janeiro/2010 ![]() |
Citação: o problema está na hora de criar o executável.... ele verificar que o form pdv nao encontra-se no projeto Principal Mas é preciso incluir o arquivo dentro do projeto, mesmo que ele não esteja na mesma pasta, você pode incluir um mesmo arquivo dentro de dois projetos. |
|||
#500180 - 07/07/2022 12:12:05 | ||||
![]() AMELINHACODE SAO PAULO Cadast. em:Junho/2019 ![]() |
Citação: : o problema está na hora de criar o executável.... ele verificar que o form pdv nao encontra-se no projeto Principal Mas é preciso incluir o arquivo dentro do projeto, mesmo que ele não esteja na mesma pasta, você pode incluir um mesmo arquivo dentro de dois projetos. Sim, eu sei e foi feito isso com form parcelas Porem se eu add o form pdv no projeto principal vai apresentar outros erros por falta de forms que são exclusivo para o projeto pdv O projeto PDV possui varios forms referenciados nele... entao cada um vai pedir quando for criar o exe |
|||
#500181 - 07/07/2022 18:03:24 | ||||
![]() SAMUKA PEDREIRA - SP Cadast. em:Janeiro/2010 ![]() |
Até onde eu conheço, a única forma de você carregar um form especÃfico (que não seja o padrão) de um outro executável, é na hora da inicialização. Você faz isso através do envio de parâmetros na chamada do executável. E esse executável tem que ler o parâmetro e abrir o form especÃfico.
Mas se o executável já estiver rodando, creio que não é possÃvel enviar um comando para abrir um form diferente daquele que já está aberto no momento. Essas funções que você mencionou, HIDE e SHOW, só servem pra forms dentro do próprio projeto. |
|||
Tópico anterior Próximo tópico Novo tópico