Здрасте, собственно помогите пожалуйста перевести сие на fasm, сильное затруднение вызывает dispinterface (Это что такое???) Код (Text): // *********************************************************************// // DispIntf: DWebBrowserEvents2 // Flags: (4112) Hidden Dispatchable // GUID: {34A715A0-6587-11D0-924A-0020AFC7AC4D} // *********************************************************************// DWebBrowserEvents2 = dispinterface ['{34A715A0-6587-11D0-924A-0020AFC7AC4D}'] procedure StatusTextChange(const Text: WideString); dispid 102; procedure ProgressChange(Progress: Integer; ProgressMax: Integer); dispid 108; procedure CommandStateChange(Command: Integer; Enable: WordBool); dispid 105; procedure DownloadBegin; dispid 106; procedure DownloadComplete; dispid 104; procedure TitleChange(const Text: WideString); dispid 113; procedure PropertyChange(const szProperty: WideString); dispid 112; procedure BeforeNavigate2(const pDisp: IDispatch; var URL: OleVariant; var Flags: OleVariant; var TargetFrameName: OleVariant; var PostData: OleVariant; var Headers: OleVariant; var Cancel: WordBool); dispid 250; procedure NewWindow2(var ppDisp: IDispatch; var Cancel: WordBool); dispid 251; procedure NavigateComplete2(const pDisp: IDispatch; var URL: OleVariant); dispid 252; procedure DocumentComplete(const pDisp: IDispatch; var URL: OleVariant); dispid 259; procedure OnQuit; dispid 253; procedure OnVisible(Visible: WordBool); dispid 254; procedure OnToolBar(ToolBar: WordBool); dispid 255; procedure OnMenuBar(MenuBar: WordBool); dispid 256; procedure OnStatusBar(StatusBar: WordBool); dispid 257; procedure OnFullScreen(FullScreen: WordBool); dispid 258; procedure OnTheaterMode(TheaterMode: WordBool); dispid 260; end; Заранее благодарю...
Гугл дал ответ Если dispinterface - это IDispatch, то объявление интерфейса будет выглядеть так Код (Text): interface DWebBrowserEvents2,\ QueryInterface,\ AddRef,\ Release,\ GetTypeInfoCount,\ GetTypeInfo,\ GetIDsOfNames,\ Invoke,\ StatusTextChange,\ ProgressChange,\ CommandStateChange,\ DownloadBegin,\ DownloadComplete,\ TitleChange,\ PropertyChange,\ BeforeNavigate2,\ NewWindow2,\ NavigateComplete2,\ DocumentComplete,\ OnQuit,\ OnVisible,\ OnToolBar,\ OnMenuBar,\ OnStatusBar,\ OnFullScreen,\ OnTheaterMode Вызывать методы интерфейса нужно через cominvk
Хотя нет Тогда объявлять нужно так Код (Text): DWebBrowserEvents2_StatusTextChange = 102 DWebBrowserEvents2_ProgressChange = 108 DWebBrowserEvents2_CommandStateChange= 105 DWebBrowserEvents2_DownloadBegin = 106 DWebBrowserEvents2_DownloadComplete = 104 DWebBrowserEvents2_TitleChange = 113 DWebBrowserEvents2_PropertyChange = 112 DWebBrowserEvents2_BeforeNavigate2 = 250 DWebBrowserEvents2_NewWindow2 = 251 DWebBrowserEvents2_NavigateComplete2 = 252 DWebBrowserEvents2_DocumentComplete = 259 DWebBrowserEvents2_OnQuit = 253 DWebBrowserEvents2_OnVisible = 254 DWebBrowserEvents2_OnToolBar = 255 DWebBrowserEvents2_OnMenuBar = 256 DWebBrowserEvents2_OnStatusBar = 257 DWebBrowserEvents2_OnFullScreen = 258 DWebBrowserEvents2_OnTheaterMode = 260 И эти номера передавать в invoke
о_0 invoke в com это типа так? Код (Text): invoke DWebBrowserEvents2, DWebBrowserEvents2_StatusTextChange, ...
Плиз обьясните как правильно прикрутить DWebBrowserEvents2, я с С++ не дружу, а все примеры только на нем...