USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  Visual Basic    (ActiveX/Controles/DLL)

Título da Dica:  Run-Time Error 7 (Out of memory). Como se livrar deste erro?
Postada em 10/6/2005 por Josefh Hennyere         
Evitando o erro "Out of memory"

O Vb informa este erro quando algum componente ActiveX não é carregado ou simplismente (por algum motivo) é descarregado da memória. Existe uma forma muito simples de previnir este erro: Carregar o componente antes do Load do form. O problema é que esta rotina não impede que o componente seja descarregado durante a execução do aplicativo, neste caso, o problema está com o seu componente ou arquivos dependentes.

Exemplo:

1.Dirija-se ao menu Project/Components e adicione o componente "Masked Edit Control" ao seu projeto;
2.Copie o código abaixo num Módulo e defina o objeto de inicialização do seu projeto (Project Properties/Startup Object) como "Sub Main"


Option Explicit
Sub Main()
    Select Case CheckMasked
    Case 1
        MsgBox "O componente Masked Edit está instalado"
    Case 0
        MsgBox "O componente Masked Edit não está instalado"
    End Select
End Sub
Public Function CheckMasked() As Long
    On Error Resume Next
    Dim Ctrl As Control
    For Each Ctrl In VB.Forms
        If TypeOf Ctrl Is MaskEdBox Then
        Else
        End If
    Next
    Select Case Err.Number
    Case Is = 0
        CheckMasked = 1
    Case Is <> 0
        CheckMasked = 0
    End Select
    On Error GoTo 0
End Function

3.Salve o executável do seu projeto;

4.Execute o seu projeto, em seguido encerre-o;

5.Dirija-se à pasta "System32" do diretório do Windows e procure pelo componente "MSMASK32.OCX". Exclua-o temporariamente para a lixeira;

5.Execute novamente o seu projeto;

6.Restaure o arquivo excluído para a sua pasta de origem.


É importante lembrar que esta dica é apenas uma simples sugestão (funciona apenas para verificar se  determinado controle foi carregado) e você poderá, usando a sua criatividade, criar uma rotina mais complexa.

'Josefh Hennyere S Miranda
 


CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página