"Object reference not set to an instance of an object" means that your code
is referencing an object that does not exist. You have 5 lines of code, and
the loop initializer is fine. Therefore, all you have to do is look through
4 lines of code to identify object references in the code that might refer
to objects that are null, or do not exist. This is about as easy as
debugging gets.
Since you are apparently new to debugging, I will walk you through it:
ship.ImageUrl = pathofImage;
Object references:
ship (Array)
ship (Array member)
ImageUrl (Property of Array Member)
pathofImage (variable)
ship.ID = "ShipNo" + i.ToString();
ship (Array)
ship (Array member)
ID (Property of Array Member)
ship.Click += new ImageClickEventHandler(this.ImageBtn_Click);
ship (Array)
ship (Array member)
Click (Event of Array Member)
ImageBtn_Click (Event Handler delegate)
this.Form1.Controls.Add(ship);
Form1 (Form)
Controls (Controls Collection)
ship (Array)
ship (Array member)
In the case of "ship" - Make sure there is an array called "ship".
In the case of "ship" - Make sure the array has 6 members (0 - 5)
In the case of "ImageUrl," "ID," and "Click," - make sure that whatever type
of object the Array holds has these members.
In the case of "Form1" - Make sure there is a form, and that it is named
"Form1".
In the case of "Controls" - Make sure that whatever object "Form1" refers to
has a Controls Collection.
In the case of "ImageBtn_Click" - Make sure that an Event Handler delegate
named "ImageBtn_Click" has been defined in the class.
Looks like an ASP.Net app. Assuming you don't have Visual Studio.Net, or
some other software that has debugging capabilities, you can always use
Trace, or use Response.Write to write data out to the Page, where you can
see it.
--
HTH,
Kevin Spencer
Microsoft MVP
..Net Developer
You can lead a fish to a bicycle,
but it takes a very long time,
and the bicycle has to *want* to change.
Varangian said:
ImageButton[] ship;
ship = new ImageButton[5];
for (int i=0; i<5; i++)
{
ship.ImageUrl = pathofImage;
ship.ID = "ShipNo" + i.ToString();
ship.Click += new ImageClickEventHandler(this.ImageBtn_Click);
this.Form1.Controls.Add(ship);
}
I have this peace of code on the start page... and is giving me an
error "Object reference not set to an instance of an object"... I
cannot see what I'm doing wrong. the Array seems good
Any Help?
Thanks