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

Edward Koryagin ed_iv2001 at yahoo.co.nz
Tue Feb 16 10:41:35 NZDT 2010


In Delphi 7:

  {$EXTERNALSYM CB_ERR}
  CB_ERR = -1;
...

function TCustomComboBoxStrings.GetObject(Index: Integer): TObject;
begin
  Result := TObject(SendMessage(ComboBox.Handle, CB_GETITEMDATA, Index, 0));
  if Longint(Result) = CB_ERR then
    Error(SListIndexError, Index);
end;


Edward Koryagin


--- On Tue, 16/2/10, Alister Christie <alister at salespartner.co.nz> wrote:

> From: Alister Christie <alister at salespartner.co.nz>
> Subject: Re: [DUG] Is it a bug in latest version of Delphi?
> To: "NZ Borland Developers Group - Delphi List" <delphi at delphi.org.nz>
> Received: Tuesday, 16 February, 2010, 10:19 AM
> 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/signatureline.htm@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


      




More information about the Delphi mailing list