吴
吴剑明
Unregistered / Unconfirmed
GUEST, unregistred user!
在普通的应用程序里,我试过:
var
b : integer;
begin
b := integer(Query);
.....
datasource1.dataset := pointer(b)
end;
是成功的,在DBGRID上能看到传过来的数据集。
于是我想,能不能在COM里面,先传出一个QUERY的整数,在程序里再把它转成指针,
这样不就能在DBGRID里显示COM组件的查询结果了么。于是我试了一下:
在COM里有一个属性Rs,定义为:
result := integer(query1)
返回一个整型。
在程序里写如下代码:
b : integer;
begin
a := createcomobject(class_mycom) as Imycom
a.dosql //先运行一个SQL
datasource1.dataset := pointer(a.Rs)
end;
奇怪的是,编译通过了,但运行到了 datasource1.dataset := pointer(Rs) 这里,
就出了个指针错误的提示。但是这时,RS属性确实已经获得了COM里的查询结果集。这个
我已经证实了。但就是不能通过DBGRID来显示。
请老大门指教
var
b : integer;
begin
b := integer(Query);
.....
datasource1.dataset := pointer(b)
end;
是成功的,在DBGRID上能看到传过来的数据集。
于是我想,能不能在COM里面,先传出一个QUERY的整数,在程序里再把它转成指针,
这样不就能在DBGRID里显示COM组件的查询结果了么。于是我试了一下:
在COM里有一个属性Rs,定义为:
result := integer(query1)
返回一个整型。
在程序里写如下代码:
b : integer;
begin
a := createcomobject(class_mycom) as Imycom
a.dosql //先运行一个SQL
datasource1.dataset := pointer(a.Rs)
end;
奇怪的是,编译通过了,但运行到了 datasource1.dataset := pointer(Rs) 这里,
就出了个指针错误的提示。但是这时,RS属性确实已经获得了COM里的查询结果集。这个
我已经证实了。但就是不能通过DBGRID来显示。
请老大门指教