unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Ole2, UrlMon;type
TForm1 = class(TForm, IBindStatusCallback)
private
{ Private declarations }
function OnStartBinding(dwReserved: DWORD; pib: IBinding): HResult; stdcall;
function GetPriority(out nPriority): HResult; stdcall;
function OnLowResource(reserved: DWORD): HResult; stdcall;
function OnProgress(ulProgress, ulProgressMax, ulStatusCode: ULONG;
szStatusText: LPCWSTR): HResult; stdcall;
function OnStopBinding(hresult: HResult; szError: LPCWSTR): HResult; stdcall;
function GetBindInfo(out grfBINDF: DWORD; var bindinfo: TBindInfo): HResult; stdcall;
function OnDataAvailable(grfBSCF: DWORD; dwSize: DWORD; formatetc: PFormatEtc;
stgmed: PStgMedium): HResult; stdcall;
function OnObjectAvailable(const iid: TGUID; punk: IUnknown): HResult; stdcall;
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}{ TForm1 }function TForm1.GetBindInfo(out grfBINDF: DWORD;
var bindinfo: TBindInfo): HResult;
beginend;function TForm1.GetPriority(out nPriority): HResult;
beginend;function TForm1.OnDataAvailable(grfBSCF, dwSize: DWORD;
formatetc: PFormatEtc; stgmed: PStgMedium): HResult;
beginend;function TForm1.OnLowResource(reserved: DWORD): HResult;
beginend;function TForm1.OnObjectAvailable(const iid: TGUID;
punk: IInterface): HResult;
beginend;function TForm1.OnProgress(ulProgress, ulProgressMax, ulStatusCode: ULONG;
szStatusText: LPCWSTR): HResult;
beginend;function TForm1.OnStartBinding(dwReserved: DWORD; pib: IBinding): HResult;
beginend;function TForm1.OnStopBinding(hresult: HResult; szError: LPCWSTR): HResult;
beginend;end.编译时出错:
[Error] Unit1.pas(25): Declaration of 'OnDataAvailable' differs from declaration in interface 'IBindStatusCallback'
[Error] Unit1.pas(25): Declaration of 'OnObjectAvailable' differs from declaration in interface 'IBindStatusCallback'
[Error] Unit1.pas(59): Declaration of 'OnObjectAvailable' differs from previous declaration
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'怎么解决该问题呀?
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Ole2, UrlMon;type
TForm1 = class(TForm, IBindStatusCallback)
private
{ Private declarations }
function OnStartBinding(dwReserved: DWORD; pib: IBinding): HResult; stdcall;
function GetPriority(out nPriority): HResult; stdcall;
function OnLowResource(reserved: DWORD): HResult; stdcall;
function OnProgress(ulProgress, ulProgressMax, ulStatusCode: ULONG;
szStatusText: LPCWSTR): HResult; stdcall;
function OnStopBinding(hresult: HResult; szError: LPCWSTR): HResult; stdcall;
function GetBindInfo(out grfBINDF: DWORD; var bindinfo: TBindInfo): HResult; stdcall;
function OnDataAvailable(grfBSCF: DWORD; dwSize: DWORD; formatetc: PFormatEtc;
stgmed: PStgMedium): HResult; stdcall;
function OnObjectAvailable(const iid: TGUID; punk: IUnknown): HResult; stdcall;
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}{ TForm1 }function TForm1.GetBindInfo(out grfBINDF: DWORD;
var bindinfo: TBindInfo): HResult;
beginend;function TForm1.GetPriority(out nPriority): HResult;
beginend;function TForm1.OnDataAvailable(grfBSCF, dwSize: DWORD;
formatetc: PFormatEtc; stgmed: PStgMedium): HResult;
beginend;function TForm1.OnLowResource(reserved: DWORD): HResult;
beginend;function TForm1.OnObjectAvailable(const iid: TGUID;
punk: IInterface): HResult;
beginend;function TForm1.OnProgress(ulProgress, ulProgressMax, ulStatusCode: ULONG;
szStatusText: LPCWSTR): HResult;
beginend;function TForm1.OnStartBinding(dwReserved: DWORD; pib: IBinding): HResult;
beginend;function TForm1.OnStopBinding(hresult: HResult; szError: LPCWSTR): HResult;
beginend;end.编译时出错:
[Error] Unit1.pas(25): Declaration of 'OnDataAvailable' differs from declaration in interface 'IBindStatusCallback'
[Error] Unit1.pas(25): Declaration of 'OnObjectAvailable' differs from declaration in interface 'IBindStatusCallback'
[Error] Unit1.pas(59): Declaration of 'OnObjectAvailable' differs from previous declaration
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'怎么解决该问题呀?
unit UrlMon;{$WEAKPACKAGEUNIT}interfaceuses
Windows, ActiveX;而Ole2也有PFormatEtc等的定义,问题解决,多谢dctony