dll中adoquery.Parameters.AddParameter 提示错误,
环境: xp+d7+sql2k
代码在原程序中执行正确,抽取到dll中后执行错误,提示:invalid class typecast错误
经查看估计是adodb中下面这里转换错误,为什么呢
function TParameters.AddParameter: TParameter;
begin
Result := Add as TParameter;
end;
附加部分代码;
function dotest(var adoTemp : TAdoQuery):ShortString;stdcall;export;
var
par : TParameter;
begin
adotemp.close;
adotemp.sql.text := 'select aa from tbtest ';
adotemp.open;
par := adoTemp.Parameters.AddParameter; //这里提示错误
....
end;
窗体中调用
dotest(adoquery1);
[解决办法]
应该是你还有其他的UNIT里也定义了一个CLASS 叫TParameter. 你可以在你的代码中把ADODB单元有用放到最前面