none
System.OutOfMemoryException RRS feed

  • Pergunta

  • Bom Dia

    Estou com um maldito erro no Windows 7 :

    Exception of type 'System.OutOfMemoryException' was thrown.


    Um dos códigos acessados que gera erro é esse:

        Private Sub Editar_Componentes()
            If dgvComponentes.SelectedRows.Count > 0 Then
                Using cn As New SQLiteConnection()
                    cn.ConnectionString = BancoDados_DataSource
                    FormulasEditarComponentes.CarregarProdutos()
    
                    Try
                        cn.Open()
                        Using comm = cn.CreateCommand()
                            comm.CommandText = "Select * FROM Formulas_Componentes WHERE C=@C"
                            comm.Parameters.AddWithValue("@C", String.Format("{0}", TxtIDSelec_Componente.Text))
    
                            Using dr As SQLiteDataReader = comm.ExecuteReader()
                                While dr.Read()
                                    FormulasEditarComponentes.TxtProdutosID.Text = dr("ComponenteID").ToString()
                                    FormulasEditarComponentes.TxtID.Text = dr("C").ToString()
                                    FormulasEditarComponentes.TxtQTD.Text = dr("QTD").ToString().Replace(".", ",")
                                End While
                                dr.Close()
                            End Using
                        End Using
    
                    Catch ex As Exception
                       msgbox(ex.Message)
                        Exit Sub
                    Finally
                        cn.Close()
                    End Try
                End Using
                FormulasEditarComponentes.ShowDialog()
            End If
        End Sub


    mas ocorre em diversas pesquisas.  Já li diversos threads e nada de resolver. Li que tem a ver com pouca memória, mas por que no windows 10 não ocorre então, na mesma máquina? E como resolver?

    terça-feira, 26 de dezembro de 2017 12:53

Respostas

  • Gente, no meu caso descobri o problema. Após compilar o projeto o executável era protegido por alguns protetores de executáveis, que provavelmente executavam o mesmo "em memória" e causava o erro.
    • Marcado como Resposta Eliseu5 terça-feira, 26 de dezembro de 2017 12:59
    terça-feira, 26 de dezembro de 2017 12:59

Todas as Respostas

  • Gente, no meu caso descobri o problema. Após compilar o projeto o executável era protegido por alguns protetores de executáveis, que provavelmente executavam o mesmo "em memória" e causava o erro.
    • Marcado como Resposta Eliseu5 terça-feira, 26 de dezembro de 2017 12:59
    terça-feira, 26 de dezembro de 2017 12:59
  • Olá Eliseu5

    Vamos fazer o seguinte, retire o try catch para que possamos saber onde realmente está parando.

    E com isso saberemos como resolver isso, se o buffer dos registros quando estão sendo alocados com a interface DbDataReader.

    Assim que dê o erro post uma imagem e o strackTrace do erro.

    Abraços.


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Senior Developer C#
    Development Leader at JAMSOFT Informática
    Microsoft Certified Professional
    Criador e Mantenedor do EntityFramework Core for Firebird
    Contribuidor do EntityFramework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    terça-feira, 26 de dezembro de 2017 13:14
  • Gente, no meu caso descobri o problema. Após compilar o projeto o executável era protegido por alguns protetores de executáveis, que provavelmente executavam o mesmo "em memória" e causava o erro.

    Não vi quando respondeu, tinha deixado a tela de resposta aberta e sair para tomar um café rss :)

    Que bom que conseguiu, já vi alguns casos isso ser ocasionado pelo tamanho do buffer que era carregado para memória ou seja.. quantidade de registros!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Senior Developer C#
    Development Leader at JAMSOFT Informática
    Microsoft Certified Professional
    Criador e Mantenedor do EntityFramework Core for Firebird
    Contribuidor do EntityFramework Core
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter


    terça-feira, 26 de dezembro de 2017 13:18