LIMITES DOS MODULOS
Olá gente .... queria saber se existe limitação nos modulos???
Comigo aconteceu o seguinte: eu organizei minhas APIs em um modulo, minhas funçoes em outro, minhas declarações em outro modulo tipo assim:
[txt-color=#007100]NO MODULO 1[/txt-color]
Public UndoText(1 To 20) As String
Public UnAvail(1 To 20) As Boolean
Public Saved(1 To 20) As Boolean
Public sFileCfg As String
Public posSel As Long
Public compLength As Integer
[txt-color=#e80000]NO MODULO 2[/txt-color]
Public Declare Function ResetDC Lib [Ô]gdi32[Ô] Alias [Ô]ResetDCA[Ô] (ByVal hdc As Long, lpInitData As Any) As Long
Public Declare Function GetForm Lib [Ô]winspool.drv[Ô] Alias [Ô]GetFormA[Ô] (ByVal hPrinter As Long, ByVal pFormName As String, ByVal Level As Long, pForm As Byte, ByVal cbBuf As Long, pcbNeeded As Long) As Long
Public Const OFS_MAXPATHNAME = 260
Public Const OF_READWRITE = &H2
Public Const GWL_EXSTYLE = (-20)
[txt-color=#007100]MODULO 3[/txt-color]
Public Function hum
[ô]executa a função
End Function
Public Function dois
[ô]executa a função
End Function
AI EU COPIEI UM EXEMPLO AQUI NO VBMANIA PARA COMPLEMENTAR O MEU PROGRAMA, E ESTA FUNÇÃO ESTAVA EM UM MODULO .... EU SEGUI A SISTEMATICA ACIMA DESCRITA .... COPIEI TODAS AS APIS PARA MODULO DAS APIS, TODAS AS FUNÇÕES PARA MODULO DAS FUNÇÕES, DECLARAÇÃO PARA MODULO DAS DECLARAÇÃO ETC ETC ETC ........ AO EXECUTAR DEU ERRO E O VB FOI FECHADO PELO WINDOWS. TODAS AS MINHAS DECLARAÇÕES DEIXO COMO PUBLICAS PARA TER ACESSO A QUALQUER DE LUGAR NOS FORMS E CLASSES
DEPOIS APAGUEI O QUE FIZ E DEIXEI O MODULO DO JEITO Q TAVA NO EXEMPLO, E AO EXECUTAR DEU CERTO!!!
PERGUNTO EU: PQ NAO POSSO DEIXAR TUDO ORGANIZADO COMO DISSE ACIMA??? PQ DEU ERRO SENDO Q TODAS AS VARIAVEIS FOI DEFINIDO COMO PUBLICAS????
JA VI COLEGAS AQUI FALANDO EM SEPARAR EM VARIOS MODULOS, AS SUAS FUNÇÕES, é POR ISSO???? OS MODULOS TEM LIMITAÇÃO EM DECLARAR FUNÇÕES E CONSTANTES?????
Comigo aconteceu o seguinte: eu organizei minhas APIs em um modulo, minhas funçoes em outro, minhas declarações em outro modulo tipo assim:
[txt-color=#007100]NO MODULO 1[/txt-color]
Public UndoText(1 To 20) As String
Public UnAvail(1 To 20) As Boolean
Public Saved(1 To 20) As Boolean
Public sFileCfg As String
Public posSel As Long
Public compLength As Integer
[txt-color=#e80000]NO MODULO 2[/txt-color]
Public Declare Function ResetDC Lib [Ô]gdi32[Ô] Alias [Ô]ResetDCA[Ô] (ByVal hdc As Long, lpInitData As Any) As Long
Public Declare Function GetForm Lib [Ô]winspool.drv[Ô] Alias [Ô]GetFormA[Ô] (ByVal hPrinter As Long, ByVal pFormName As String, ByVal Level As Long, pForm As Byte, ByVal cbBuf As Long, pcbNeeded As Long) As Long
Public Const OFS_MAXPATHNAME = 260
Public Const OF_READWRITE = &H2
Public Const GWL_EXSTYLE = (-20)
[txt-color=#007100]MODULO 3[/txt-color]
Public Function hum
[ô]executa a função
End Function
Public Function dois
[ô]executa a função
End Function
AI EU COPIEI UM EXEMPLO AQUI NO VBMANIA PARA COMPLEMENTAR O MEU PROGRAMA, E ESTA FUNÇÃO ESTAVA EM UM MODULO .... EU SEGUI A SISTEMATICA ACIMA DESCRITA .... COPIEI TODAS AS APIS PARA MODULO DAS APIS, TODAS AS FUNÇÕES PARA MODULO DAS FUNÇÕES, DECLARAÇÃO PARA MODULO DAS DECLARAÇÃO ETC ETC ETC ........ AO EXECUTAR DEU ERRO E O VB FOI FECHADO PELO WINDOWS. TODAS AS MINHAS DECLARAÇÕES DEIXO COMO PUBLICAS PARA TER ACESSO A QUALQUER DE LUGAR NOS FORMS E CLASSES
DEPOIS APAGUEI O QUE FIZ E DEIXEI O MODULO DO JEITO Q TAVA NO EXEMPLO, E AO EXECUTAR DEU CERTO!!!
PERGUNTO EU: PQ NAO POSSO DEIXAR TUDO ORGANIZADO COMO DISSE ACIMA??? PQ DEU ERRO SENDO Q TODAS AS VARIAVEIS FOI DEFINIDO COMO PUBLICAS????
JA VI COLEGAS AQUI FALANDO EM SEPARAR EM VARIOS MODULOS, AS SUAS FUNÇÕES, é POR ISSO???? OS MODULOS TEM LIMITAÇÃO EM DECLARAR FUNÇÕES E CONSTANTES?????
não existe limite, algo nos módulos pode estar em conflito, verifique se não existe declarações publicas com mesmo nome em mais de um módulo
marcelo ......... eu tomei este cuidado de duplicação de nome de função variavel etc
juro que fiz isso ................
pro meu programa funcionar ..... tive que usar as funções no mesmo modulo que estavam as declaraçoes ..... no exemplo acima citado em modulos separados nao funcionouuuuu
juro que fiz isso ................
pro meu programa funcionar ..... tive que usar as funções no mesmo modulo que estavam as declaraçoes ..... no exemplo acima citado em modulos separados nao funcionouuuuu
Wolf
Lembre-se de que o ideal (ainda que seja em VB6) é sempre trabalhar orientado a objetos.
Se voce pode passar para classes e tornar somente o que é extremamente necessário publico para os demais objetos, voce primeiro centraliza funcionalidades e tambem garante portabilidade.
Lembre-se de que o ideal (ainda que seja em VB6) é sempre trabalhar orientado a objetos.
Se voce pode passar para classes e tornar somente o que é extremamente necessário publico para os demais objetos, voce primeiro centraliza funcionalidades e tambem garante portabilidade.
Citação:WEBMASTER DISSE: Se voce pode passar para classes e tornar somente o que é extremamente necessário publico para os demais objetos, voce primeiro centraliza funcionalidades e tambem garante portabilidade.
rsrsrs se eu for fazer isso, que é o certo fazer, vou ter que mudar bem o meu código ..... eu migrei do qbasic pro visual basic 6 .... graças a um livro q peguei imprestado ........ sinceramente tenho muito que mudar .... por isso q nao migrei pro vb.net
em relação ao que vc disse, em de portabilidade .... estou a desenvolver um editor de texto poderoso e já refiz ele várias vezes ... acho q vou acatar sua ideia e desenvolver mais classes, ocx e dll ....
A propósito quem executa mais rápido: o modulo, a classe, ou uma dll e ocx???
valeuuu
Citação:A propósito quem executa mais rápido: o modulo, a classe, ou uma dll e ocx???
Tudo depente...
Dependa da inicializacao da classe/ocx,etc...
Citação:Tudo depente...
Dependa da inicializacao da classe/ocx,etc...
webmaster ............. vc ta falando com leigo no assunto .......... dá pra explicar melhor???? cite um exemplooooo ........ please
Tópico encerrado , respostas não são mais permitidas