D語言,想說愛你不容易

2021-08-29 07:02:24 字數 1672 閱讀 8293

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次的記錄中,印象裡只有一次準點,因此,在我印象裡 東航準點也是小概率事件,所以,除非萬不得已,我不坐東航的航班。從今年五一到現在,今天是第三次坐東航的航班,次次晚點...