|
|
|
|
|
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
|
|
|
|
|