ComboBox2.Items.AddObject(query1.FieldByName('name').asstring,
TObject(query1.FieldByName('name_id').Asinteger));
语法形式为:addobject(string,Tobject)
Tobject后面带的参数怎么解释?初学者不懂,高手指点。
TObject(query1.FieldByName('name_id').Asinteger));
语法形式为:addobject(string,Tobject)
Tobject后面带的参数怎么解释?初学者不懂,高手指点。
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
ListBox1: TListBox;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
aa:widestring;
implementation{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
aa:=edit1.text;
listbox1.Items.AddObject(edit2.text,tobject(aa));
end;procedure TForm1.ListBox1Click(Sender: TObject);
begin
edit3.text:=string(listbox1.Items.Objects[listbox1.ItemIndex]);
end;end.结贴:)
ob:=TObject(query1.FieldByName('name_id').Asinteger));假如query1.FieldByName('name_id').Asinteger == 20 ob其实就是4个字节指针,指向TObject对象的内存区域
强制转换就是 20 放在这4个字节里,这样ob就是指向地址是 20的一个TObject对象,当然这里指的地方不是真正的TObject对象,不过只要不调用TObject的方法,就不会出错。
新手上路,多多关照!