REFERÊNCIA DE OBJETO NÃO DEFINIDA

ABREU 15/03/2016 10:08:28
#459214
Caros amigos,

O problema foi resolvido: Não existe mais a mensagem “Referência de objeto não definida para uma instância de um objeto.”; nem em sede de projeto, e nem depois do meu aplicativo ser compilado e instalado no PC usuário (Usei o Inno Setup).

Na verdade, eu creio que estava instanciando dois relatórios com um mesmo nome e colocando essa miscelânea como ReportSource de um mesmo CrystalReportViewer, tudo com um único DataSet.

Agradeço ao ACCIOLLY por mais essa colaboração. (Continuo estudando as alternativas dos relatórios em PDF)

Eis abaixo o código que está funcionando normalmente. é uma adaptação daquele que eu peguei na rede:

Imports System.Data.OleDb
Imports CrystalDecisions.CrystalReports.Engine

Dim Connect As New OleDbConnection
Connect.ConnectionString = [Ô]Provider=Microsoft.ACE.OLEDB.12.0;[Ô] _
& [Ô]Data Source=BdDados.accdb;Jet OLEDB:System database=system.mdw;[Ô]

Connect.Open()
Dim SQL As String = [Ô]SELECT * from tbl12[Ô]
Dim da As New OleDbDataAdapter(SQL, Connect)
Dim ds As New DataSet
da.Fill(ds, [Ô] tbl12[Ô])
Dim cr As New rpt07
cr.SetDataSource(ds)
Dim ObjetoTexto As CrystalDecisions.CrystalReports.Engine.TextObject
ObjetoTexto = Type(cr.ReportDefinition.ReportObjects.Item([Ô]txtTitulo[Ô]), CrystalDecisions.CrystalReports.Engine.TextObject)
ObjetoTexto.Text = “Relação geral”
Me.crvRelatorio.ReportSource = cr
Me.crvRelatorio.RefreshReport()
ObjetoTexto.Dispose()
da.Dispose()
ds.Dispose()
Connect.Close()

Estou deixando o tópico aberto por mais alguns dias para quem desejar me dar mais alguma orientação sobre a matéria.

A mensagem “Referência de objeto não definida para uma instância de um objeto” é de natureza muito genérica; atormenta a cabeça de muitos colegas; e nos fóruns especializados, inclusive da Microsoft, chega a ser atribuída a problemas com os arquivos adodb.dll e crdb_adoplus.dll, e até mesmo a incompatibilidades com o .NET Framework.
JABA 15/03/2016 19:24:02
#459259
Resposta escolhida
Citação:

“Referência de objeto não definida para uma instância de um objeto”



Abreu, na verdade esse tipo de exceção é bem comum. Ela acontece quando algum objeto não é instanciado.
Por exemplo, se você declarasse algo como o codigo abaixo, geraria a exceção:

dim cliente as Cliente
cliente.Nome = [Ô]Abreu[Ô]


O correto seria assim:

dim cliente as [txt-color=#e80000]New[/txt-color] Cliente
cliente.Nome = [Ô]Abreu[Ô]


Página 2 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas