On Tue, Feb 16, 2010 at 3:57 PM, Jolyon Smith <[email protected]> wrote:
> Good luck with GetLastError(). There's nothing to indicate that
> LB_GETITEMDATA processing will set a Windows "LastError".
>
> And empirically I would have to say that it doesn't:
Hmm... empirically I would have to say it does.
type
TIPRListBox = class(TListBox);
procedure TForm1.Button1Click(Sender: TObject);
function GetValue(AListBox: TListBox; AIndex: Integer): Integer;
begin
Result := TIPRListBox(AListBox).GetItemData(AIndex);
if GetLastError <> 0 then RaiseLastOSError;
end;
begin
ListBox1.Items.AddObject('foo', TObject(0));
ListBox1.Items.AddObject('foo', TObject(-1));
ShowMessage(IntToStr(GetValue(ListBox1, 0)));
ShowMessage(IntToStr(GetValue(ListBox1, 1)));
ShowMessage(IntToStr(GetValue(ListBox1, 2)));
end;
Tested results: 0, -1, <invalid index error>
I'm using D2006, and you?
Cheers,
Karl
_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: [email protected]
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [email protected] with Subject:
unsubscribe