通过wdsl import向导生成了.pas文件,然后主文件可以调用接口中的方法了
但在编译的过程中报错,提示:Error:Access violation at address 836556F8(004096da). Read of address 836556F8(00401000),请问这是哪里错了?关键代码如下:
IGetdata = interface(IInvokable)
['{1392E00E-DFDF-EEAB-C324-D9A65CF4F3CB}']
function Getdatatable(const parameters: wideString): GetdatatableResponse; stdcall;
function GeneralExcutSql(const parameters: GeneralExcutSql): GeneralExcutSqlResponse; stdcall;
function GetDataSet(const parameters: GetDataSet): GetDataSetResponse; stdcall;
function GetSerializationDS(const parameters: GetSerializationDS): GetSerializationDSResponse; stdcall;
end;function GetIGetdata(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): IGetdata;主文件调用如下:
procedure TForm1.btn1Click(Sender: TObject);
var
s: wideString;
rio: IGetdata;
begin
s := 'select * from pigTrader';
rio.Getdatatable(s);
end;
但在编译的过程中报错,提示:Error:Access violation at address 836556F8(004096da). Read of address 836556F8(00401000),请问这是哪里错了?关键代码如下:
IGetdata = interface(IInvokable)
['{1392E00E-DFDF-EEAB-C324-D9A65CF4F3CB}']
function Getdatatable(const parameters: wideString): GetdatatableResponse; stdcall;
function GeneralExcutSql(const parameters: GeneralExcutSql): GeneralExcutSqlResponse; stdcall;
function GetDataSet(const parameters: GetDataSet): GetDataSetResponse; stdcall;
function GetSerializationDS(const parameters: GetSerializationDS): GetSerializationDSResponse; stdcall;
end;function GetIGetdata(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): IGetdata;主文件调用如下:
procedure TForm1.btn1Click(Sender: TObject);
var
s: wideString;
rio: IGetdata;
begin
s := 'select * from pigTrader';
rio.Getdatatable(s);
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货