這可能是用者在SDK下開發(fā)的,用于在sdk下面嵌入一個web瀏覽器
專業(yè)成都網(wǎng)站建設(shè)公司,做排名好的好網(wǎng)站,排在同行前面,為您帶來客戶和效益!創(chuàng)新互聯(lián)為您提供成都網(wǎng)站建設(shè),五站合一網(wǎng)站設(shè)計制作,服務(wù)好的網(wǎng)站設(shè)計公司,成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)負責任的成都網(wǎng)站制作公司!
如果你了解一些COM知識,就想到你需要什么來使瀏覽器COM對象運行
你要提供四個對象給瀏覽器對象:IStorage, IOleInPlaceFrame, IOleClientSite, 和IOleInPlaceSite。這是四個結(jié)構(gòu),每個都有自己的VTable,這些結(jié)構(gòu)和他們的VTable都在頭文件中用C定義好了。他們每個都有自己的一系列成員函數(shù)。
IStorage對象,它定義了稱為IStorageVtbl的Vtable結(jié)構(gòu)。在這個VTable中一共有18個函數(shù)指針(也就是說IStorage本身就有18個特定的函數(shù),這也是為什么大家更多的使用MFC,.NET,WTL以便來使工作更簡單輕松)。當然前三個函數(shù)也必須為QueryInterface(), AddRef(),和Release()。在CWebPage.c中我把這三個函數(shù)命名為Storage_QueryInterface(), Storage_AddRef(),和Storage_Release(),后面的15個方程我都是用Storage_來開頭的,它們是Storage_OpenStream(), Storage_CopyTo()等等,IStorage的函數(shù)的作用是管理程序和磁盤的讀寫的,具體的作用和參數(shù)可以參考MSDN關(guān)于IStorage的文檔。
也就是說在MSDN里面有關(guān)于對他們的注釋,你沒仔細看,我也懶的找!
創(chuàng)建IStorage的最簡單的辦法是把它聲明為全局變量,并且用18個函數(shù)指針來初始化它,代碼就是你那里面的第一個花括號,現(xiàn)在知道什么意思了沒,就是定義指針!
現(xiàn)在就有了一個全局的初始化好了的IStorage的VTable----MyIStorageTable
下一步就是創(chuàng)建IStorage對象。最簡單的還是把它聲明為全局的變量并且初始化它,它只有一個VTable:
IStorage MyIStorage = { MyIStorageTable };
現(xiàn)在就有了IStorage的被初始化好了的全局對象MyIStorage。現(xiàn)在操作系統(tǒng)的函數(shù)隨時可以調(diào)用這個對象并把它交給瀏覽器對象這樣它就可以調(diào)用上面的18個函數(shù)了。
如果看不懂,就好好找找MSDN的注釋
TO 樓主:
IStorage不是一個實際意義上的函數(shù)或者結(jié)構(gòu),雖然他被稱之為結(jié)構(gòu),但是我的理解不是,它必須要有一定的 條件才能被稱為結(jié)構(gòu),就是必須定義了一個有實際意義的指針或者用途,而IStorageVtbl正是用它包含的 函數(shù)定義完了的實際意義,MSDN上沒注釋,是因為它只有被定義過才會有實際用途,我也查過一遍,的確是沒怎么介紹,我初步估計可能是用者自己的定義,只有定義成功以后才會有初始化完的VTable,這樣才能繼續(xù)創(chuàng)建對象,否則不是成了空鍋里放了米想煮飯,豈不明白有米有鍋也未必能煮成飯,必須要有一定的條件啊
加花括號是為了結(jié)構(gòu)清晰,程序易讀
這是編程序的原則
一個函數(shù)體需要一對花括號把自身的循環(huán)體語句括起來
例如你在main()里面調(diào)用一個函數(shù),調(diào)用的循環(huán)體語句就需要花括號
for(),if()while()等語句后的循環(huán)體也可以不加,程序也能正常運行。但最好把一個循環(huán)體語句放在一個花括號里
這對以后程序的維護有很大作用
看下面程序,自己領(lǐng)悟,阿彌陀佛。。。
題目:計算1!+2!+3!+……+100!.要求定義和跳函數(shù)fact(n)計算n的階乘。
#includestdio.h
double fact (int n);
main()
{
int i,j;
double item,sum;
sum=0;
for(i=1;i=100;i++){
item=1;
for(j=1;j=i;j++)
item=item*j;
sum=sum+item;
}
printf("%e\n",sum);
}
這些都不是問題,你閑來無事多編編程序,久了自然就會了,不用刻意看書記
祝你成功,記得采納哦,謝謝
main函數(shù)是C程序的主函數(shù),C程序都是從這個函數(shù)開始運行的,main函數(shù)后面用花括號括住所有語句,如果你還定義有其它函數(shù),則只需要把你定義的函數(shù)名放在main里。而if是個判斷語句,如果if語句后面跟有多條語句則需要用花括號括起來,<接下
文章名稱:c語言花括號函數(shù) c語言用花括號組合在一起的多個語句稱為
網(wǎng)站URL:http://www.rwnh.cn/article18/ddosjdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站建設(shè)、定制開發(fā)、網(wǎng)站改版、建站公司、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)