Deployment

21/09/2005 - 01:01 por Buho | Informe spam
Saludos amigos,

Tengo un problemita que me esta volviendo loco...bueno se trata de una
app que quiero distribuir..todo funciona bien mientras estoy en mi
maquina, e hice un instalador para el exe y las referencias con
InstallShield 10 premier, bueno el asunto es q cuando lo corro en la
otra PC me lanza una excepcion que no lanzaba en mi PC local y lo mas
raro es que la lanza como si no tuviera try-catch s es decir como si no
fuera controlada, mas en el codigo al que hace referencia tengo
try-catchs.. :(

xq sucede esto?
Les mando los fragmentos de codigo del contexto, que no me dejan mentir
:

<<<<<La excepcion del sistema>>>>>
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance
of an object.
at EngineX.Principal.CargarTransaccion(Int32 trans)
at EngineX.Principal.cmbComando_KeyDown(Object sender, KeyEventArgs
e)
at System.Windows.Forms.Control.OnKeyDown(KeyEventArgs e)
at System.Windows.Forms.Control.ProcessKeyEventArgs(Message& m)
************** Exception Text **************

Public Function CargarTransaccion(ByVal trans As Integer) As Form
Try'///////////El try que deberia atrapar la excepcion :)

Dim DST As New DataSet
Dim dsinfo As New DataSet
Dim nuevo As Integer = 0
MyTrans = New Form
Engine.ILTV = ILtreeviews
Engine.ILTBM = imgMantenimiento
Engine.STBP = sbrPrincipal.Panels(0)
Engine.DBLX = Engine.DBLX
Engine.DBL = Engine.DBL

If ExisteRestriccion(trans, EMPUSR) Then
Exit Function
End If
If (Engine.CargarTransaccion(trans, MyTrans)) Then
If GetTransInfo(trans, dsinfo) Then
Engine.DPAR_TRANSNAME dsinfo.Tables(0).Rows(0)("F3975")
Engine.DPAR_NATURALEZA dsinfo.Tables(0).Rows(0)("V0024")
End If
MyTrans.MdiParent = Me
MyTrans.Text = Engine.DPAR_TRANSNAME
MyTrans.WindowState = FormWindowState.Maximized
MyTrans.Tag = Engine
Engine.gtb = TbrGeneral
Engine.dtb = TbrDesplazamiento
MyTrans.BackColor = Color.FromName(colortran)
If MyTrans.Text = "Configuraciones" Then
MyTrans.WindowState System.Windows.Forms.FormWindowState.Normal
MyTrans.Width = 872
MyTrans.Height = 368
MyTrans.StartPosition FormStartPosition.CenterScreen
End If
MyTrans.Show()
Engine.SetMascara(MyTrans)
If cmbComando.FindStringExact(cmbComando.Text) = -1
Then
If cmbComando.Items.Count < confNumHis Then 'lo
obtengo segun la configuracion del Usuario
cmbComando.Items.Add(cmbComando.Text)
Else
cmbComando.Items.RemoveAt(0)
cmbComando.Items.Add(cmbComando.Text)
End If
End If
End If
CargarTransaccion = MyTrans
Catch ex As Exception
MessageBox.Show(ex.Message + " #Source:" + ex.InnerException.Message +
" #Q: " + ex.StackTrace + " [CargarTransaccion]", "Metaphor",
MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
end function


Gracias...
 

Leer las respuestas

#1 Ju
21/09/2005 - 12:35 | Informe spam
Tienes el try al principio del todo, incluso antes de las declaraciones, así
te queda demasiado código incontrolado.

posiblemente en

...
If ExisteRestriccion(trans, EMPUSR) Then
...

o alguno de los otros if te devuelva la referencia nula que te da el error,
yo cambiaría esto por un try ...

****************************************
Colabora con el grupo, contesta a este mensaje
y dinos si te sirvió o no la respuesta dada.
Muchas gracias.
****************************************
Salu2
[DCE ***] + VSTO
www.juank.tk
www.mvp-access.com
****************************************
"Buho" escribió en el mensaje
news:
Saludos amigos,

Tengo un problemita que me esta volviendo loco...bueno se trata de una
app que quiero distribuir..todo funciona bien mientras estoy en mi
maquina, e hice un instalador para el exe y las referencias con
InstallShield 10 premier, bueno el asunto es q cuando lo corro en la
otra PC me lanza una excepcion que no lanzaba en mi PC local y lo mas
raro es que la lanza como si no tuviera try-catch s es decir como si no
fuera controlada, mas en el codigo al que hace referencia tengo
try-catchs.. :(

xq sucede esto?
Les mando los fragmentos de codigo del contexto, que no me dejan mentir
:

<<<<<La excepcion del sistema>>>>>
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance
of an object.
at EngineX.Principal.CargarTransaccion(Int32 trans)
at EngineX.Principal.cmbComando_KeyDown(Object sender, KeyEventArgs
e)
at System.Windows.Forms.Control.OnKeyDown(KeyEventArgs e)
at System.Windows.Forms.Control.ProcessKeyEventArgs(Message& m)
************** Exception Text **************

Public Function CargarTransaccion(ByVal trans As Integer) As Form
Try'///////////El try que deberia atrapar la excepcion :)

Dim DST As New DataSet
Dim dsinfo As New DataSet
Dim nuevo As Integer = 0
MyTrans = New Form
Engine.ILTV = ILtreeviews
Engine.ILTBM = imgMantenimiento
Engine.STBP = sbrPrincipal.Panels(0)
Engine.DBLX = Engine.DBLX
Engine.DBL = Engine.DBL

If ExisteRestriccion(trans, EMPUSR) Then
Exit Function
End If
If (Engine.CargarTransaccion(trans, MyTrans)) Then
If GetTransInfo(trans, dsinfo) Then
Engine.DPAR_TRANSNAME > dsinfo.Tables(0).Rows(0)("F3975")
Engine.DPAR_NATURALEZA > dsinfo.Tables(0).Rows(0)("V0024")
End If
MyTrans.MdiParent = Me
MyTrans.Text = Engine.DPAR_TRANSNAME
MyTrans.WindowState = FormWindowState.Maximized
MyTrans.Tag = Engine
Engine.gtb = TbrGeneral
Engine.dtb = TbrDesplazamiento
MyTrans.BackColor = Color.FromName(colortran)
If MyTrans.Text = "Configuraciones" Then
MyTrans.WindowState > System.Windows.Forms.FormWindowState.Normal
MyTrans.Width = 872
MyTrans.Height = 368
MyTrans.StartPosition > FormStartPosition.CenterScreen
End If
MyTrans.Show()
Engine.SetMascara(MyTrans)
If cmbComando.FindStringExact(cmbComando.Text) = -1
Then
If cmbComando.Items.Count < confNumHis Then 'lo
obtengo segun la configuracion del Usuario
cmbComando.Items.Add(cmbComando.Text)
Else
cmbComando.Items.RemoveAt(0)
cmbComando.Items.Add(cmbComando.Text)
End If
End If
End If
CargarTransaccion = MyTrans
Catch ex As Exception
MessageBox.Show(ex.Message + " #Source:" + ex.InnerException.Message +
" #Q: " + ex.StackTrace + " [CargarTransaccion]", "Metaphor",
MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
end function


Gracias...

Preguntas similares