Sinu,

I dont know if its been answered satisfactorily. There are too many replies to wade through. I recall that along the way Windows standard changed from 0 being a null pointer to -1. I had to change some of my code in stringlist to work. I think my solution was to just multiply by 2 and then store it. Found my note - it happened in 2003. My conclusion now, is that its a combination of windows version/updates and version of Delphi that causes this issue.

Rohit

sinu sudhakaran wrote:
Hi all,

I came across a strange bug(???) in latest versions of Delphi.

Have a look at the following code.

procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
begin
ComboBox1.Clear;
ComboBox1.Items.AddObject('All Locations', TObject(-1));
ComboBox1.Items.AddObject('Only this Location', TObject(0));
ComboBox1.Items.AddObject(Test Location', TObject(1));

i := Integer(ComboBox1.Items.Objects[0]);
showmessage(inttostr(i));
end;

When I tried to run this code in Delphi 6 and Delphi 2007 , I am getting List Index out of bounds[0] error in Showmessage. When I tried -2, -3, -4… instead of -1 object , I got the proper output without any List index out of bounds error. Also I am getting -1 without any error when I tried this code in Delphi 3.

Is it a bug in latest version of Delphi ? Any help is appreciated.

Thank you

Regards,
Sinu

<http://sigads.rediff.com/RealMedia/ads/click_nx.ads/www.rediffmail.com/signatureline....@middle?>

------------------------------------------------------------------------

_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: delphi@delphi.org.nz
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to delphi-requ...@delphi.org.nz with Subject: 
unsubscribe

_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: delphi@delphi.org.nz
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to delphi-requ...@delphi.org.nz with Subject: 
unsubscribe

Reply via email to