[DUG] Is it a bug in latest version of Delphi?

Jolyon Smith jsmith at deltics.co.nz
Tue Feb 16 12:41:28 NZDT 2010


Why do people insist on speculating as to the cause of the problem when they
can just look at the VCL source and see the very simple and ordinary
explanation ?!?!

 

The problem is simply an incorrect and misleading error raised by the VCL
based on a naïve assumption.  No violation of OO principles, no funky
cast/recast type violations, just bogus error handling that has all the
hallmarks of “intern code”.

 

Reach out with your feelings
  USE THE SOURCE!

 

 

From: delphi-bounces at delphi.org.nz [mailto:delphi-bounces at delphi.org.nz] On
Behalf Of Kyley Harris
Sent: Tuesday, 16 February 2010 12:31 p.m.
To: NZ Borland Developers Group - Delphi List
Subject: Re: [DUG] Is it a bug in latest version of Delphi?

 

Pointers and TObject are unsigned integers (cardinals) not (integer) casting
to -1 is converting to the cardinal equvalent, which when pulled back is
making an out of bounds integer..

 

just a guess and it probably has something to do with the compiler
typecasting rules you have designated.

On Tue, Feb 16, 2010 at 11:41 AM, Ross Levis <ross at stationplaylist.com>
wrote:

I often use the Object property of listbox and TStringList items to store
pointers, or just numbers for array subscripts.  I don't see any problem
doing that as it can save a lot of time.  It is just an integer variable
internally.  I seem to remember coming across the same problem once (D7) and
had to use -2 instead of -1 to indicate no value or something of that
nature.  I'm not sure why.  The integer always exists and defaults to a
value of 0.

Ross.


-----Original Message-----
From: delphi-bounces at delphi.org.nz [mailto:delphi-bounces at delphi.org.nz] On
Behalf Of Alister Christie
Sent: Tuesday, 16 February 2010 10:20 a.m.
To: NZ Borland Developers Group - Delphi List
Subject: Re: [DUG] Is it a bug in latest version of Delphi?

I can confirm that
 ListBox1.Items.AddObject('foo', TObject(-1));

 ShowMessage(IntToStr(Integer(ListBox1.Items.Objects[0])));
gives an error but
 ListBox1.Items.AddObject('foo', TObject(0));
 ShowMessage(IntToStr(Integer(ListBox1.Items.Objects[0])));
does not

I think casting -1 to an object is probably not the best idea - what
memory location does this point to anyway? 0xFFFFFFFF?

Alister Christie
Computers for People
Ph: 04 471 1849 Fax: 04 471 1266
http://www.salespartner.co.nz
PO Box 13085
Johnsonville
Wellington



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/sign
atureline.htm at Middle?>
>
>
> ------------------------------------------------------------------------

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


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




-- 
Kyley Harris
Harris Software
+64-21-671-821

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://listserver.123.net.nz/pipermail/delphi/attachments/20100216/06ea785e/attachment-0001.html 


More information about the Delphi mailing list