Hello.
I have 2 forms (Form1 and Form2). When i call the Sub placed in form1 from
form2, i get the error "object reference not set to an instance of an object"
!
What can i do to solve the problem?
Thanks 20 4780
Please post the code that calls the sub.
Thanks,
Seth Rowe
vitorjol wrote:
Hello.
I have 2 forms (Form1 and Form2). When i call the Sub placed in form1 from
form2, i get the error "object reference not set to an instance of an object"
!
What can i do to solve the problem?
Thanks
Here is the code:
' the code in form2
Private Sub DataGridView1_RowHeaderMouseClick(ByVal sender As Object, ByVal
e As System.Windows.Forms.DataGridViewCellMouseEventArg s) Handles
DataGridView1.RowHeaderMouseClick
dim exitvar as Integer
exitvar = DataGridView1.Rows(e.RowIndex).Cells(0).Value
Dim ff As New Form1
ff.BringToFront()
ff.soumavez(exitvar) ' this is the call to the sub in Form1
End Sub
"rowe_newsgroups" wrote:
Please post the code that calls the sub.
Thanks,
Seth Rowe
vitorjol wrote:
Hello.
I have 2 forms (Form1 and Form2). When i call the Sub placed in form1 from
form2, i get the error "object reference not set to an instance of an object"
!
What can i do to solve the problem?
Thanks
Looks like it should work, when you step through the code where does
the exception occur? If the error occurs in somewhere other than this
sub please post that code too. Also what does "soumavez" mean?
Thanks,
Seth Rowe
vitorjol wrote:
Here is the code:
' the code in form2
Private Sub DataGridView1_RowHeaderMouseClick(ByVal sender As Object, ByVal
e As System.Windows.Forms.DataGridViewCellMouseEventArg s) Handles
DataGridView1.RowHeaderMouseClick
dim exitvar as Integer
exitvar = DataGridView1.Rows(e.RowIndex).Cells(0).Value
Dim ff As New Form1
ff.BringToFront()
ff.soumavez(exitvar) ' this is the call to the sub in Form1
End Sub
"rowe_newsgroups" wrote:
Please post the code that calls the sub.
Thanks,
Seth Rowe
vitorjol wrote:
Hello.
>
I have 2 forms (Form1 and Form2). When i call the Sub placed in form1 from
form2, i get the error "object reference not set to an instance of an object"
!
What can i do to solve the problem?
>
Thanks
ok....the name "soumavez" its a name that i called to the Sub...End Sub.
i put here the code of Sub(its about the Mapguide ActiveX to show a map in
VB). I'll send there to Sub in the other form the id of a polygon on the map,
and then the Sub localize the polygon and zoom the place!!!
Code of the Sub "soumavez" in the Form1:
Public Sub soumavez(ByVal varin As Integer)
' --->"varin" its the var that i send from Form2!!!
' --->"mgmap" its the name of the control (mapguide activex)
Try
Dim pubmapsel As MGMapControl.MGSelection
Dim pubvar2 As MGMapControl.MGMapLayer
Dim pubmapobjectos As MGMapControl.MGCollection
Dim pubmapobj As MGMapControl.MGMapObject
pubmapsel = mgmap.getSelection()
pubvar2 = mgmap.getMapLayer("SIG")
pubmapobjectos = mgmap.createObject("MGCollection")
pubmapobj = pubvar2.getMapObject(varin)
pubmapobjectos.add(pubmapobj)
pubmapsel.addObjectsEx(pubmapobjectos, False)
mgmap.zoomSelected()
mgmap.zoomScale(mgmap.getLat(), mgmap.getLon(), 1500)
mgmap.refresh()
Catch ex As Exception
MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK,
MessageBoxIcon.Error)
End Try
End Sub
"rowe_newsgroups" wrote:
Looks like it should work, when you step through the code where does
the exception occur? If the error occurs in somewhere other than this
sub please post that code too. Also what does "soumavez" mean?
Thanks,
Seth Rowe
vitorjol wrote:
Here is the code:
' the code in form2
Private Sub DataGridView1_RowHeaderMouseClick(ByVal sender As Object, ByVal
e As System.Windows.Forms.DataGridViewCellMouseEventArg s) Handles
DataGridView1.RowHeaderMouseClick
dim exitvar as Integer
exitvar = DataGridView1.Rows(e.RowIndex).Cells(0).Value
Dim ff As New Form1
ff.BringToFront()
ff.soumavez(exitvar) ' this is the call to the sub in Form1
End Sub
"rowe_newsgroups" wrote:
Please post the code that calls the sub.
>
Thanks,
>
Seth Rowe
>
vitorjol wrote:
Hello.
I have 2 forms (Form1 and Form2). When i call the Sub placed in form1 from
form2, i get the error "object reference not set to an instance of an object"
!
What can i do to solve the problem?
Thanks
>
>
ok....the name "soumavez" its a name that i called to the Sub...End Sub.
It looked like a foreign langauge to me (is it?), so I was just making
sure it was a protected keyword in a foreign language edition of visual
studio.
Anyways, I have to apologize - my "visual" debugging skills must be
lacking today, as I still don't see anything obviously wrong. Which
line of the code raises the exception?
Thanks,
Seth Rowe
vitorjol wrote:
>
i put here the code of Sub(its about the Mapguide ActiveX to show a map in
VB). I'll send there to Sub in the other form the id of a polygon on the map,
and then the Sub localize the polygon and zoom the place!!!
Code of the Sub "soumavez" in the Form1:
Public Sub soumavez(ByVal varin As Integer)
' --->"varin" its the var that i send from Form2!!!
' --->"mgmap" its the name of the control (mapguide activex)
Try
Dim pubmapsel As MGMapControl.MGSelection
Dim pubvar2 As MGMapControl.MGMapLayer
Dim pubmapobjectos As MGMapControl.MGCollection
Dim pubmapobj As MGMapControl.MGMapObject
pubmapsel = mgmap.getSelection()
pubvar2 = mgmap.getMapLayer("SIG")
pubmapobjectos = mgmap.createObject("MGCollection")
pubmapobj = pubvar2.getMapObject(varin)
pubmapobjectos.add(pubmapobj)
pubmapsel.addObjectsEx(pubmapobjectos, False)
mgmap.zoomSelected()
mgmap.zoomScale(mgmap.getLat(), mgmap.getLon(), 1500)
mgmap.refresh()
Catch ex As Exception
MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK,
MessageBoxIcon.Error)
End Try
End Sub
"rowe_newsgroups" wrote:
Looks like it should work, when you step through the code where does
the exception occur? If the error occurs in somewhere other than this
sub please post that code too. Also what does "soumavez" mean?
Thanks,
Seth Rowe
vitorjol wrote:
Here is the code:
>
' the code in form2
Private Sub DataGridView1_RowHeaderMouseClick(ByVal sender As Object, ByVal
e As System.Windows.Forms.DataGridViewCellMouseEventArg s) Handles
DataGridView1.RowHeaderMouseClick
dim exitvar as Integer
exitvar = DataGridView1.Rows(e.RowIndex).Cells(0).Value
Dim ff As New Form1
ff.BringToFront()
ff.soumavez(exitvar) ' this is the call to the sub in Form1
End Sub
>
"rowe_newsgroups" wrote:
>
Please post the code that calls the sub.
Thanks,
Seth Rowe
vitorjol wrote:
Hello.
>
I have 2 forms (Form1 and Form2). When i call the Sub placed in form1 from
form2, i get the error "object reference not set to an instance of an object"
!
What can i do to solve the problem?
>
Thanks
Yes....im portuguese....but I love America!!!!!
i forgot to tell U the line with the problem!!!Sorry
So, the problem "object reference not set to an instance of an object"
occurs in the line >>pubmapobj = pubvar2.getMapObject(varin)
Thanks
"rowe_newsgroups" wrote:
ok....the name "soumavez" its a name that i called to the Sub...End Sub.
It looked like a foreign langauge to me (is it?), so I was just making
sure it was a protected keyword in a foreign language edition of visual
studio.
Anyways, I have to apologize - my "visual" debugging skills must be
lacking today, as I still don't see anything obviously wrong. Which
line of the code raises the exception?
Thanks,
Seth Rowe
vitorjol wrote:
i put here the code of Sub(its about the Mapguide ActiveX to show a map in
VB). I'll send there to Sub in the other form the id of a polygon on the map,
and then the Sub localize the polygon and zoom the place!!!
Code of the Sub "soumavez" in the Form1:
Public Sub soumavez(ByVal varin As Integer)
' --->"varin" its the var that i send from Form2!!!
' --->"mgmap" its the name of the control (mapguide activex)
Try
Dim pubmapsel As MGMapControl.MGSelection
Dim pubvar2 As MGMapControl.MGMapLayer
Dim pubmapobjectos As MGMapControl.MGCollection
Dim pubmapobj As MGMapControl.MGMapObject
pubmapsel = mgmap.getSelection()
pubvar2 = mgmap.getMapLayer("SIG")
pubmapobjectos = mgmap.createObject("MGCollection")
pubmapobj = pubvar2.getMapObject(varin)
pubmapobjectos.add(pubmapobj)
pubmapsel.addObjectsEx(pubmapobjectos, False)
mgmap.zoomSelected()
mgmap.zoomScale(mgmap.getLat(), mgmap.getLon(), 1500)
mgmap.refresh()
Catch ex As Exception
MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK,
MessageBoxIcon.Error)
End Try
End Sub
"rowe_newsgroups" wrote:
Looks like it should work, when you step through the code where does
the exception occur? If the error occurs in somewhere other than this
sub please post that code too. Also what does "soumavez" mean?
>
Thanks,
>
Seth Rowe
>
>
vitorjol wrote:
Here is the code:
' the code in form2
Private Sub DataGridView1_RowHeaderMouseClick(ByVal sender As Object, ByVal
e As System.Windows.Forms.DataGridViewCellMouseEventArg s) Handles
DataGridView1.RowHeaderMouseClick
dim exitvar as Integer
exitvar = DataGridView1.Rows(e.RowIndex).Cells(0).Value
Dim ff As New Form1
ff.BringToFront()
ff.soumavez(exitvar) ' this is the call to the sub in Form1
End Sub
"rowe_newsgroups" wrote:
Please post the code that calls the sub.
>
Thanks,
>
Seth Rowe
>
vitorjol wrote:
Hello.
I have 2 forms (Form1 and Form2). When i call the Sub placed in form1 from
form2, i get the error "object reference not set to an instance of an object"
!
What can i do to solve the problem?
Thanks
>
>
>
>
Hmm. The "object reference not set to an instance of an object"
exception is raised when you try to use an object that doesn't exist
yet, like if you left out the New keyword. However, everything looks
alright to me. The only thing I would try (outside of praying that
someone else happens on this thread and sees what we're missing!) is to
change this line:
>pubmapobj = pubvar2.getMapObject(varin)
To this:
pubmapobj = MGMapControl.MGMapLayer.getMapObject(varin)
That will take the pubvar2 variable out of the equation. Note, you may
also try throwing the "New" keyword into that line, I'm not sure if
you do or don't need it.
Hope that helps,
Seth Rowe
vitorjol wrote:
Yes....im portuguese....but I love America!!!!!
i forgot to tell U the line with the problem!!!Sorry
So, the problem "object reference not set to an instance of an object"
occurs in the line >>pubmapobj = pubvar2.getMapObject(varin)
Thanks
"rowe_newsgroups" wrote:
ok....the name "soumavez" its a name that i called to the Sub...End Sub.
It looked like a foreign langauge to me (is it?), so I was just making
sure it was a protected keyword in a foreign language edition of visual
studio.
Anyways, I have to apologize - my "visual" debugging skills must be
lacking today, as I still don't see anything obviously wrong. Which
line of the code raises the exception?
Thanks,
Seth Rowe
vitorjol wrote:
>
i put here the code of Sub(its about the Mapguide ActiveX to show a map in
VB). I'll send there to Sub in the other form the id of a polygon on the map,
and then the Sub localize the polygon and zoom the place!!!
>
Code of the Sub "soumavez" in the Form1:
>
Public Sub soumavez(ByVal varin As Integer)
' --->"varin" its the var that i send from Form2!!!
' --->"mgmap" its the name of the control (mapguide activex)
Try
Dim pubmapsel As MGMapControl.MGSelection
Dim pubvar2 As MGMapControl.MGMapLayer
Dim pubmapobjectos As MGMapControl.MGCollection
Dim pubmapobj As MGMapControl.MGMapObject
pubmapsel = mgmap.getSelection()
pubvar2 = mgmap.getMapLayer("SIG")
pubmapobjectos = mgmap.createObject("MGCollection")
pubmapobj = pubvar2.getMapObject(varin)
pubmapobjectos.add(pubmapobj)
pubmapsel.addObjectsEx(pubmapobjectos, False)
mgmap.zoomSelected()
mgmap.zoomScale(mgmap.getLat(), mgmap.getLon(), 1500)
mgmap.refresh()
Catch ex As Exception
MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK,
MessageBoxIcon.Error)
End Try
End Sub
>
>
"rowe_newsgroups" wrote:
>
Looks like it should work, when you step through the code where does
the exception occur? If the error occurs in somewhere other than this
sub please post that code too. Also what does "soumavez" mean?
Thanks,
Seth Rowe
vitorjol wrote:
Here is the code:
>
' the code in form2
Private Sub DataGridView1_RowHeaderMouseClick(ByVal sender As Object, ByVal
e As System.Windows.Forms.DataGridViewCellMouseEventArg s) Handles
DataGridView1.RowHeaderMouseClick
dim exitvar as Integer
exitvar = DataGridView1.Rows(e.RowIndex).Cells(0).Value
Dim ff As New Form1
ff.BringToFront()
ff.soumavez(exitvar) ' this is the call to the sub in Form1
End Sub
>
"rowe_newsgroups" wrote:
>
Please post the code that calls the sub.
Thanks,
Seth Rowe
vitorjol wrote:
Hello.
>
I have 2 forms (Form1 and Form2). When i call the Sub placed in form1 from
form2, i get the error "object reference not set to an instance of an object"
!
What can i do to solve the problem?
>
Thanks
Hello rowe_newsgroups,
Your solutuion would not work. MGMapControl is the namespace.. MGMapLayer
is the type. getMapObject is not static (shared).
pubvar2 (GEEZ! Use some better freakin names next time wouldja, OP!) is
supposed to grab a reference to a specific map layer.
You are correct in that the OP is trying to use an object that is null.
OP: Check your MWF, make sure you have a layer actually called "SIG". Also,
ZoomSelected is a terrible way to get to an object. First, the selection
will only succeed if the object is visible at your current zoom scale. Second,
MapGuide is notorious for busystate collisions.
-Boo
Hmm. The "object reference not set to an instance of an object"
exception is raised when you try to use an object that doesn't exist
yet, like if you left out the New keyword. However, everything looks
alright to me. The only thing I would try (outside of praying that
someone else happens on this thread and sees what we're missing!) is
to change this line:
>pubmapobj = pubvar2.getMapObject(varin)
To this:
pubmapobj = MGMapControl.MGMapLayer.getMapObject(varin)
That will take the pubvar2 variable out of the equation. Note, you may
also try throwing the "New" keyword into that line, I'm not sure if
you do or don't need it.
Hope that helps,
Seth Rowe
vitorjol wrote:
>Yes....im portuguese....but I love America!!!!!
i forgot to tell U the line with the problem!!!Sorry
So, the problem "object reference not set to an instance of an object" occurs in the line >>pubmapobj = pubvar2.getMapObject(varin)
Thanks
"rowe_newsgroups" wrote:
>>>ok....the name "soumavez" its a name that i called to the Sub...End Sub.
It looked like a foreign langauge to me (is it?), so I was just making sure it was a protected keyword in a foreign language edition of visual studio.
Anyways, I have to apologize - my "visual" debugging skills must be lacking today, as I still don't see anything obviously wrong. Which line of the code raises the exception?
Thanks,
Seth Rowe
vitorjol wrote:
i put here the code of Sub(its about the Mapguide ActiveX to show a map in VB). I'll send there to Sub in the other form the id of a polygon on the map, and then the Sub localize the polygon and zoom the place!!!
Code of the Sub "soumavez" in the Form1:
Public Sub soumavez(ByVal varin As Integer) ' --->"varin" its the var that i send from Form2!!! ' --->"mgmap" its the name of the control (mapguide activex) Try Dim pubmapsel As MGMapControl.MGSelection Dim pubvar2 As MGMapControl.MGMapLayer Dim pubmapobjectos As MGMapControl.MGCollection Dim pubmapobj As MGMapControl.MGMapObject pubmapsel = mgmap.getSelection() pubvar2 = mgmap.getMapLayer("SIG") pubmapobjectos = mgmap.createObject("MGCollection") pubmapobj = pubvar2.getMapObject(varin) pubmapobjectos.add(pubmapobj) pubmapsel.addObjectsEx(pubmapobjectos, False) mgmap.zoomSelected() mgmap.zoomScale(mgmap.getLat(), mgmap.getLon(), 1500) mgmap.refresh() Catch ex As Exception MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub "rowe_newsgroups" wrote:
Looks like it should work, when you step through the code where does the exception occur? If the error occurs in somewhere other than this sub please post that code too. Also what does "soumavez" mean? > Thanks, > Seth Rowe > vitorjol wrote: > >Here is the code: >> >' the code in form2 >Private Sub DataGridView1_RowHeaderMouseClick(ByVal sender As >Object, ByVal >e As System.Windows.Forms.DataGridViewCellMouseEventArg s) Handles >DataGridView1.RowHeaderMouseClick >dim exitvar as Integer >exitvar = DataGridView1.Rows(e.RowIndex).Cells(0).Value >Dim ff As New Form1 >ff.BringToFront() >ff.soumavez(exitvar) ' this is the call to the sub in Form1 >End Sub >"rowe_newsgroups" wrote: >> >>Please post the code that calls the sub. >>> >>Thanks, >>> >>Seth Rowe >>> >>vitorjol wrote: >>> >>>Hello. >>>> >>>I have 2 forms (Form1 and Form2). When i call the Sub placed in >>>form1 from >>>form2, i get the error "object reference not set to an instance >>>of an object" >>>! >>>What can i do to solve the problem? >>>Thanks >>>>
What I see is that you do not show the form BringToFront does not make
a control a top-level control, and it does not raise the Paint event.
So with the knowledge of the last post, try following
- Check, if you can run the sub from form2 alone. Implement a button to
show what you want and make a test like this.
- If this does not work, first correct the sub until you are able to
let it run.
- After that, first show the new form and then let sub run from
form1...
Daniel
Daniel Bloch schrieb:
What I see is that you do not show the form BringToFront does not make
a control a top-level control, and it does not raise the Paint event.
So with the knowledge of the last post, try following
- Check, if you can run the sub from form2 alone. Implement a button to
show what you want and make a test like this.
- If this does not work, first correct the sub until you are able to
let it run.
- After that, first show the new form and then let sub run from
form1...
Daniel
Sorry, I did a mistake and mixed form1 and form2 :)
The SUB in form2:
Public Sub soumavez(ByVal varin As Integer)
Try
MessageBox.Show(varin)
Dim pubmapsel As MGMapControl.MGSelection
Dim pubvar2 As MGMapControl.MGMapLayer
Dim pubmapobjectos As MGMapControl.MGCollection
Dim pubmapobj As MGMapControl.MGMapObject
pubmapsel = mgmap.getSelection()
pubvar2 = mgmap.getMapLayer("SIG")
pubmapobjectos = mgmap.createObject("MGCollection")
pubmapobj = mgmap.getMapLayer("SIG").getMapObject(varin)
pubmapobjectos.add(pubmapobj)
mgmap.getSelection().addObjectsEx(pubmapobjectos, False)
mgmap.zoomSelected()
mgmap.zoomScale(mgmap.getLat(), mgmap.getLon(), 1500)
mgmap.refresh()
Catch ex As Exception
MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK,
MessageBoxIcon.Error)
End Try
End Sub
this sub is called form Form2 with the following code:
exitvar = DataGridView1.Rows(e.RowIndex).Cells(0).Value
Dim ff As New Form1
ff.BringToFront()
ff.soumavez(exitvar)
PROBLEM:
if i dont put the codeline "MessageBox.Show(varin)", occurs the error at
line "pubmapobj = mgmap.getMapLayer("SIG").getMapObject(varin)".
If i put the message "MessageBox.Show(varin)", occurs the error at line
"mgmap.getSelection().addObjectsEx(pubmapobjec tos, False)".
the test that u say to do (call the sub from a buttonclick within Form1)
occurs with NO Error!!!!
Thanks
"Daniel Bloch" wrote:
>
Daniel Bloch schrieb:
What I see is that you do not show the form BringToFront does not make
a control a top-level control, and it does not raise the Paint event.
So with the knowledge of the last post, try following
- Check, if you can run the sub from form2 alone. Implement a button to
show what you want and make a test like this.
- If this does not work, first correct the sub until you are able to
let it run.
- After that, first show the new form and then let sub run from
form1...
Daniel
Sorry, I did a mistake and mixed form1 and form2 :)
Resume my problem:
if i call the Sub located in Form1 from Form1 i get no error. If i call the
Sub from Form2 i get error. Why?
Thanks
"vitorjol" wrote:
The SUB in form2:
Public Sub soumavez(ByVal varin As Integer)
Try
MessageBox.Show(varin)
Dim pubmapsel As MGMapControl.MGSelection
Dim pubvar2 As MGMapControl.MGMapLayer
Dim pubmapobjectos As MGMapControl.MGCollection
Dim pubmapobj As MGMapControl.MGMapObject
pubmapsel = mgmap.getSelection()
pubvar2 = mgmap.getMapLayer("SIG")
pubmapobjectos = mgmap.createObject("MGCollection")
pubmapobj = mgmap.getMapLayer("SIG").getMapObject(varin)
pubmapobjectos.add(pubmapobj)
mgmap.getSelection().addObjectsEx(pubmapobjectos, False)
mgmap.zoomSelected()
mgmap.zoomScale(mgmap.getLat(), mgmap.getLon(), 1500)
mgmap.refresh()
Catch ex As Exception
MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK,
MessageBoxIcon.Error)
End Try
End Sub
this sub is called form Form2 with the following code:
exitvar = DataGridView1.Rows(e.RowIndex).Cells(0).Value
Dim ff As New Form1
ff.BringToFront()
ff.soumavez(exitvar)
PROBLEM:
if i dont put the codeline "MessageBox.Show(varin)", occurs the error at
line "pubmapobj = mgmap.getMapLayer("SIG").getMapObject(varin)".
If i put the message "MessageBox.Show(varin)", occurs the error at line
"mgmap.getSelection().addObjectsEx(pubmapobjec tos, False)".
the test that u say to do (call the sub from a buttonclick within Form1)
occurs with NO Error!!!!
Thanks
"Daniel Bloch" wrote:
Daniel Bloch schrieb:
What I see is that you do not show the form BringToFront does not make
a control a top-level control, and it does not raise the Paint event.
>
So with the knowledge of the last post, try following
>
- Check, if you can run the sub from form2 alone. Implement a button to
show what you want and make a test like this.
- If this does not work, first correct the sub until you are able to
let it run.
- After that, first show the new form and then let sub run from
form1...
>
Daniel
Sorry, I did a mistake and mixed form1 and form2 :)
Thanks for coming to my rescue here Ghost, with no experience using
Mapguide (and not having it's SDK) I was getting in over my head!
Thanks,
Seth Rowe
GhostInAK wrote:
Hello rowe_newsgroups,
Your solutuion would not work. MGMapControl is the namespace.. MGMapLayer
is the type. getMapObject is not static (shared).
pubvar2 (GEEZ! Use some better freakin names next time wouldja, OP!) is
supposed to grab a reference to a specific map layer.
You are correct in that the OP is trying to use an object that is null.
OP: Check your MWF, make sure you have a layer actually called "SIG". Also,
ZoomSelected is a terrible way to get to an object. First, the selection
will only succeed if the object is visible at your current zoom scale. Second,
MapGuide is notorious for busystate collisions.
-Boo
Hmm. The "object reference not set to an instance of an object"
exception is raised when you try to use an object that doesn't exist
yet, like if you left out the New keyword. However, everything looks
alright to me. The only thing I would try (outside of praying that
someone else happens on this thread and sees what we're missing!) is
to change this line:
pubmapobj = pubvar2.getMapObject(varin)
To this:
pubmapobj = MGMapControl.MGMapLayer.getMapObject(varin)
That will take the pubvar2 variable out of the equation. Note, you may
also try throwing the "New" keyword into that line, I'm not sure if
you do or don't need it.
Hope that helps,
Seth Rowe
vitorjol wrote:
Yes....im portuguese....but I love America!!!!!
i forgot to tell U the line with the problem!!!Sorry
So, the problem "object reference not set to an instance of an
object" occurs in the line >>pubmapobj = pubvar2.getMapObject(varin)
Thanks
"rowe_newsgroups" wrote:
ok....the name "soumavez" its a name that i called to the Sub...End Sub.
It looked like a foreign langauge to me (is it?), so I was just making sure it was a protected keyword in a foreign language edition of visual studio.
Anyways, I have to apologize - my "visual" debugging skills must be lacking today, as I still don't see anything obviously wrong. Which line of the code raises the exception?
Thanks,
Seth Rowe
vitorjol wrote:
i put here the code of Sub(its about the Mapguide ActiveX to show a map in VB). I'll send there to Sub in the other form the id of a polygon on the map, and then the Sub localize the polygon and zoom the place!!!
Code of the Sub "soumavez" in the Form1:
Public Sub soumavez(ByVal varin As Integer) ' --->"varin" its the var that i send from Form2!!! ' --->"mgmap" its the name of the control (mapguide activex) Try Dim pubmapsel As MGMapControl.MGSelection Dim pubvar2 As MGMapControl.MGMapLayer Dim pubmapobjectos As MGMapControl.MGCollection Dim pubmapobj As MGMapControl.MGMapObject pubmapsel = mgmap.getSelection() pubvar2 = mgmap.getMapLayer("SIG") pubmapobjectos = mgmap.createObject("MGCollection") pubmapobj = pubvar2.getMapObject(varin) pubmapobjectos.add(pubmapobj) pubmapsel.addObjectsEx(pubmapobjectos, False) mgmap.zoomSelected() mgmap.zoomScale(mgmap.getLat(), mgmap.getLon(), 1500) mgmap.refresh() Catch ex As Exception MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub "rowe_newsgroups" wrote:
Looks like it should work, when you step through the code where does the exception occur? If the error occurs in somewhere other than this sub please post that code too. Also what does "soumavez" mean?
Thanks,
Seth Rowe
vitorjol wrote:
Here is the code: > ' the code in form2 Private Sub DataGridView1_RowHeaderMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArg s) Handles DataGridView1.RowHeaderMouseClick dim exitvar as Integer exitvar = DataGridView1.Rows(e.RowIndex).Cells(0).Value Dim ff As New Form1 ff.BringToFront() ff.soumavez(exitvar) ' this is the call to the sub in Form1 End Sub "rowe_newsgroups" wrote: > >Please post the code that calls the sub. >> >Thanks, >> >Seth Rowe >> >vitorjol wrote: >> >>Hello. >>> >>I have 2 forms (Form1 and Form2). When i call the Sub placed in >>form1 from >>form2, i get the error "object reference not set to an instance >>of an object" >>! >>What can i do to solve the problem? >>Thanks >>>
Hello rowe_newsgroups,
I envy you, Seth. I have to use the abismal peice of crap every day.
-Boo
Thanks for coming to my rescue here Ghost, with no experience using
Mapguide (and not having it's SDK) I was getting in over my head!
Thanks,
Seth Rowe
GhostInAK wrote:
>Hello rowe_newsgroups,
Your solutuion would not work. MGMapControl is the namespace.. MGMapLayer is the type. getMapObject is not static (shared). pubvar2 (GEEZ! Use some better freakin names next time wouldja, OP!) is supposed to grab a reference to a specific map layer. You are correct in that the OP is trying to use an object that is null.
OP: Check your MWF, make sure you have a layer actually called "SIG". Also, ZoomSelected is a terrible way to get to an object. First, the selection will only succeed if the object is visible at your current zoom scale. Second, MapGuide is notorious for busystate collisions. -Boo
>>Hmm. The "object reference not set to an instance of an object" exception is raised when you try to use an object that doesn't exist yet, like if you left out the New keyword. However, everything looks alright to me. The only thing I would try (outside of praying that someone else happens on this thread and sees what we're missing!) is to change this line:
pubmapobj = pubvar2.getMapObject(varin)
To this:
pubmapobj = MGMapControl.MGMapLayer.getMapObject(varin)
That will take the pubvar2 variable out of the equation. Note, you may also try throwing the "New" keyword into that line, I'm not sure if you do or don't need it.
Hope that helps,
Seth Rowe
vitorjol wrote:
Yes....im portuguese....but I love America!!!!!
i forgot to tell U the line with the problem!!!Sorry
So, the problem "object reference not set to an instance of an object" occurs in the line >>pubmapobj = pubvar2.getMapObject(varin)
Thanks
"rowe_newsgroups" wrote:
>ok....the name "soumavez" its a name that i called to the >Sub...End Sub. >> It looked like a foreign langauge to me (is it?), so I was just making sure it was a protected keyword in a foreign language edition of visual studio. > Anyways, I have to apologize - my "visual" debugging skills must be lacking today, as I still don't see anything obviously wrong. Which line of the code raises the exception? > Thanks, > Seth Rowe > vitorjol wrote: > >i put here the code of Sub(its about the Mapguide ActiveX to show >a map in VB). I'll send there to Sub in the other form the id of >a polygon on the map, and then the Sub localize the polygon and >zoom the place!!! >> >Code of the Sub "soumavez" in the Form1: >> >Public Sub soumavez(ByVal varin As Integer) >' --->"varin" its the var that i send from Form2!!! >' --->"mgmap" its the name of the control (mapguide activex) >Try >Dim pubmapsel As MGMapControl.MGSelection >Dim pubvar2 As MGMapControl.MGMapLayer >Dim pubmapobjectos As MGMapControl.MGCollection >Dim pubmapobj As MGMapControl.MGMapObject >pubmapsel = mgmap.getSelection() >pubvar2 = mgmap.getMapLayer("SIG") >pubmapobjectos = mgmap.createObject("MGCollection") >pubmapobj = pubvar2.getMapObject(varin) >pubmapobjectos.add(pubmapobj) >pubmapsel.addObjectsEx(pubmapobjectos, False) >mgmap.zoomSelected() >mgmap.zoomScale(mgmap.getLat(), mgmap.getLon(), 1500) >mgmap.refresh() >Catch ex As Exception >MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, >MessageBoxIcon.Error) >End Try >End Sub >"rowe_newsgroups" wrote: >>Looks like it should work, when you step through the code where >>does the exception occur? If the error occurs in somewhere >>other than this sub please post that code too. Also what does >>"soumavez" mean? >>> >>Thanks, >>> >>Seth Rowe >>> >>vitorjol wrote: >>> >>>Here is the code: >>>> >>>' the code in form2 >>>Private Sub DataGridView1_RowHeaderMouseClick(ByVal sender As >>>Object, ByVal >>>e As System.Windows.Forms.DataGridViewCellMouseEventArg s) >>>Handles >>>DataGridView1.RowHeaderMouseClick >>>dim exitvar as Integer >>>exitvar = DataGridView1.Rows(e.RowIndex).Cells(0).Value >>>Dim ff As New Form1 >>>ff.BringToFront() >>>ff.soumavez(exitvar) ' this is the call to the sub in Form1 >>>End Sub >>>"rowe_newsgroups" wrote: >>>>Please post the code that calls the sub. >>>>> >>>>Thanks, >>>>> >>>>Seth Rowe >>>>> >>>>vitorjol wrote: >>>>> >>>>>Hello. >>>>>> >>>>>I have 2 forms (Form1 and Form2). When i call the Sub placed >>>>>in >>>>>form1 from >>>>>form2, i get the error "object reference not set to an >>>>>instance >>>>>of an object" >>>>>! >>>>>What can i do to solve the problem? >>>>>Thanks
Can i force the execution of the Button_click located in Form1 from Form2?
i ask this because in Form1, if i execute the sub called from the
button_click everything goes right, but if i call the sub outside the Form1
(Form2) occurs the error!!!
Thanks
"GhostInAK" wrote:
Hello rowe_newsgroups,
I envy you, Seth. I have to use the abismal peice of crap every day.
-Boo
Thanks for coming to my rescue here Ghost, with no experience using
Mapguide (and not having it's SDK) I was getting in over my head!
Thanks,
Seth Rowe
GhostInAK wrote:
Hello rowe_newsgroups,
Your solutuion would not work. MGMapControl is the namespace..
MGMapLayer
is the type. getMapObject is not static (shared).
pubvar2 (GEEZ! Use some better freakin names next time wouldja, OP!)
is
supposed to grab a reference to a specific map layer.
You are correct in that the OP is trying to use an object that is
null.
OP: Check your MWF, make sure you have a layer actually called
"SIG". Also,
ZoomSelected is a terrible way to get to an object. First, the
selection
will only succeed if the object is visible at your current zoom
scale. Second,
MapGuide is notorious for busystate collisions.
-Boo
Hmm. The "object reference not set to an instance of an object" exception is raised when you try to use an object that doesn't exist yet, like if you left out the New keyword. However, everything looks alright to me. The only thing I would try (outside of praying that someone else happens on this thread and sees what we're missing!) is to change this line:
pubmapobj = pubvar2.getMapObject(varin)
To this:
pubmapobj = MGMapControl.MGMapLayer.getMapObject(varin)
That will take the pubvar2 variable out of the equation. Note, you may also try throwing the "New" keyword into that line, I'm not sure if you do or don't need it.
Hope that helps,
Seth Rowe
vitorjol wrote:
Yes....im portuguese....but I love America!!!!!
i forgot to tell U the line with the problem!!!Sorry
So, the problem "object reference not set to an instance of an object" occurs in the line >>pubmapobj = pubvar2.getMapObject(varin)
Thanks
"rowe_newsgroups" wrote:
ok....the name "soumavez" its a name that i called to the Sub...End Sub. > It looked like a foreign langauge to me (is it?), so I was just making sure it was a protected keyword in a foreign language edition of visual studio.
Anyways, I have to apologize - my "visual" debugging skills must be lacking today, as I still don't see anything obviously wrong. Which line of the code raises the exception?
Thanks,
Seth Rowe
vitorjol wrote:
i put here the code of Sub(its about the Mapguide ActiveX to show a map in VB). I'll send there to Sub in the other form the id of a polygon on the map, and then the Sub localize the polygon and zoom the place!!! > Code of the Sub "soumavez" in the Form1: > Public Sub soumavez(ByVal varin As Integer) ' --->"varin" its the var that i send from Form2!!! ' --->"mgmap" its the name of the control (mapguide activex) Try Dim pubmapsel As MGMapControl.MGSelection Dim pubvar2 As MGMapControl.MGMapLayer Dim pubmapobjectos As MGMapControl.MGCollection Dim pubmapobj As MGMapControl.MGMapObject pubmapsel = mgmap.getSelection() pubvar2 = mgmap.getMapLayer("SIG") pubmapobjectos = mgmap.createObject("MGCollection") pubmapobj = pubvar2.getMapObject(varin) pubmapobjectos.add(pubmapobj) pubmapsel.addObjectsEx(pubmapobjectos, False) mgmap.zoomSelected() mgmap.zoomScale(mgmap.getLat(), mgmap.getLon(), 1500) mgmap.refresh() Catch ex As Exception MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub "rowe_newsgroups" wrote: >Looks like it should work, when you step through the code where >does the exception occur? If the error occurs in somewhere >other than this sub please post that code too. Also what does >"soumavez" mean? >> >Thanks, >> >Seth Rowe >> >vitorjol wrote: >> >>Here is the code: >>> >>' the code in form2 >>Private Sub DataGridView1_RowHeaderMouseClick(ByVal sender As >>Object, ByVal >>e As System.Windows.Forms.DataGridViewCellMouseEventArg s) >>Handles >>DataGridView1.RowHeaderMouseClick >>dim exitvar as Integer >>exitvar = DataGridView1.Rows(e.RowIndex).Cells(0).Value >>Dim ff As New Form1 >>ff.BringToFront() >>ff.soumavez(exitvar) ' this is the call to the sub in Form1 >>End Sub >>"rowe_newsgroups" wrote: >>>Please post the code that calls the sub. >>>> >>>Thanks, >>>> >>>Seth Rowe >>>> >>>vitorjol wrote: >>>> >>>>Hello. >>>>> >>>>I have 2 forms (Form1 and Form2). When i call the Sub placed >>>>in >>>>form1 from >>>>form2, i get the error "object reference not set to an >>>>instance >>>>of an object" >>>>! >>>>What can i do to solve the problem? >>>>Thanks
Now, have you tried to first SHOW the document with the command "show"
before let running the sub.
I realy believe that your problem just occurs because there is no valid
form available (because it's not yet shown and has it's window handle)
that can take the form handlings of your map software ...
Daniel
i have the form1 and form2 open....i dont have to do the show command to the
Form1...i think!!!!!
"Daniel Bloch" wrote:
Now, have you tried to first SHOW the document with the command "show"
before let running the sub.
I realy believe that your problem just occurs because there is no valid
form available (because it's not yet shown and has it's window handle)
that can take the form handlings of your map software ...
Daniel
Have you tried?
Sometimes, software development is not about thinking but about trying.
So give it a try and place a ".show" instead of ".bringtofront" and
check out, what happens.
Daniel
it opens again the form1....i dont want this, and dont work anyway!!!
i think that i solved the problem. In form1 i open the form2 with the
command showdialog...just this!!!
"Daniel Bloch" wrote:
Have you tried?
Sometimes, software development is not about thinking but about trying.
So give it a try and place a ".show" instead of ".bringtofront" and
check out, what happens.
Daniel
vitorjol schrieb:
it opens again the form1....i dont want this, and dont work anyway!!!
i think that i solved the problem. In form1 i open the form2 with the
command showdialog...just this!!!
"Daniel Bloch" wrote:
Have you tried?
Sometimes, software development is not about thinking but about trying.
So give it a try and place a ".show" instead of ".bringtofront" and
check out, what happens.
Daniel
Seems that we had a great misunderstanding - it's exactly what I tried
to propose ...
But already you have your solution and so it's also ok for me...
Daniel This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Shaun Fleming |
last post by:
I've been trying to make this simple script compatible across various
browsers. It works for IE 6.0 and NS 7 but doesnt work with Opera (I
have version 7.11). This is what is supposed to happen:...
|
by: Marina |
last post by:
Here is the problem. If 2 different properties on the same (or different)
control are bound to the same data column, changing the Text property and
calling EndCurrentEdit discards the new value. ...
|
by: Mike |
last post by:
I am trying to open a search results form based on the input from a
prompt form. I am using the following code:
--- Begin Code ---
Private Sub btnSearch_Click()
'Dim Variable and assign data...
|
by: Andrew Christiansen |
last post by:
Hey everyone. I have Visual Basic .NET 2003 and am trying to show images on
a treeview control. I have the imagelist on the form filled with images,
and have the ImageList property of the...
|
by: Frank Maxey |
last post by:
I am fairly new to VB.Net and am having a curious problem.
I have an entry dialog form called from a main form. The calling form
needs to check the
DialogResult field for an OK response.
In...
| |
by: koorb |
last post by:
I am starting a program from a module with the Sub main procedure and
I want it to display two forms for the program's interface, but when I
run the program both forms just open and then program...
|
by: Altman |
last post by:
Ok I have a control that is inherited from another class. In the child I
put msgbox(me.name) in the load event. What always pops up is the name of
the parent class and not the name of the...
|
by: DS |
last post by:
I seem to have run into another strange anomaly with the monthCalendar
control. I want to display 6 months at time with either the first half
of the year (January-June) or the later half of the...
|
by: =?Utf-8?B?UHVjY2E=?= |
last post by:
Hi, I'm using VS2005 and .net 2.0. I'm creating an application that has 3
forms. I want allow users to move forward and backward with the forms and
retain the data users have entered. I thought...
|
by: Lyn |
last post by:
Hi,
I am using a form (FormA) to list the records in a recordset. In the FormA
footer, I have an "Add" command button that opens a new form (FormB)
modally which is used to input and save a new...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
| |
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
| |
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
|
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...
| |