d語言,想說愛你不容易
d語言設計思想本身很先進,我不否認。但是...
我想在乙個gui中嵌入ie,用來顯示html,css,進行dom操作。這在指令碼語言中,只要類似下面一行**就能建立乙個ie例項:
但在d裡卻這麼難。
1 首先我看到juno這個專案好像可以建立com,可惜很長時間不更新了,已經不能通過新版dmd編譯。。。
2 qiezi大俠寫過一篇文章 d語言呼叫activex(在視窗中嵌入activex)
但那是好久前,已經不能通過新版dmd編譯。。鬱悶中
3 oldrev大俠發表了修改版 juno.com.base,看到一線曙光
剛接觸d,要用oldrev大俠的成果來建立ie例項,不知何從著手。。。
4 網上找com的文章,都是c++,c的例項,要是會c++多好,可是,如果我會c++,還用問這個問題嗎
猶豫,是否先學c++,再學d,狂悶。。。
5 圈子裡高人很多,可是。。。
6 上d官方新聞組,官方論壇去問。。。
好不容易,core32的作者jcc7給了個用oldrev修改版combase建立microsoft script control,再用script指令碼建立ie例項
如何嵌入gui,如何得到ie控制代碼,如何控制頁面元素。。。
用dmd1.013可以成功編譯。離成功好像近了一步,路漫漫。。。
jcc7給的**見本文附件
7 現在初淺的了解:
要實現把ie嵌入gui,有兩種思路:
早期繫結,這個在d裡實現很麻煩
晚期繫結,就象指令碼語言裡用的那樣
qiezie說用idispatch介面的方法效率比較低
效率低點沒有關係,誰能給個例子,用idispatch介面實現建立ie例項?
真的很希望得到你的幫助,沒有c++基礎學d這麼難,建立嵌入gui的ie竟然這麼難以實現。
d語言出現已經多年了,我知道不是d語言本身的問題,那麼...
第一次用d寫程式就被卡住了。。。
d,想說愛你不容易!
20070429tuja補充:
真的非常感謝qiezi,在百忙之中,抽出寶貴個人時間,修改了core32,使之能夠通過dmd1.013的編譯!!
我按照下面的方法,已經成功編譯了你修改的core32
1 unzip zip in \dmd\src\core32
2 open command prompt (cmd.exe=dox box).
3 type path \dmd\bin;%path%
4 cd to the core32\win32 directory.
5 exeute makelib.bat
6 copy make32.lib to \dmd\lib directory. this directory is alread in compilers search path.
7 cd to \dmd\bin
8 open sc.ini
add "%@p%\..\src\core32" to compiler include search path
然後用qiezi提供的編譯引數:
dmd ie.d -i..\core32 activex.d ..\core32\win32\win32.lib
編譯了ie.d,可以成功啟動ie。
非常感謝qiezi及各位的指教。
IT 想說愛你不容易
檢查了半天,也跟蹤了伺服器端的執行日誌,沒有發現什麼問題,重啟伺服器程序,繼續跟蹤排程程序和執行程序,依舊沒有看出什麼問題,後來根據日誌中的select語句又到資料庫裡面查了一下,嘿!居然沒有資料。估計是命令解析的時候出了錯誤,看來是程式問題了,在伺服器上找到執行程序的源程式,make clean ...
ROR TDD,想說愛你不容易
tdd,也就是 test driven development 測試驅動開發,其實是一種開發方式的巨大提高。它 提出了一種新的開發方式 以測試為驅動。在此,我仍然想引用乙個曾經看過的thoughtworks的 乙個人的blog中的一句話 什麼是tdd?tdd就是把你的需求用測試給描述出來。這句話一下...
東航,想說愛你不容易
我坐東航的航班是小概率事件。自05年6月做諮詢以來,平均每月飛行12次,到現在大概有600次的飛行記錄,坐東航的航班大概有10次。在10次的記錄中,印象裡只有一次準點,因此,在我印象裡 東航準點也是小概率事件,所以,除非萬不得已,我不坐東航的航班。從今年五一到現在,今天是第三次坐東航的航班,次次晚點...