全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1180
推到 Plurk!
推到 Facebook!

Delphi 2005 Assembly

 
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-05 17:52:34 IP:218.17.xxx.xxx 未訂閱
前两天在 VS2003 里,自己做一个Assembly,然后在一个新的工程里使用这个Assembly,很轻松地在新工程里加入对那个Assembly的DLL文件的引用后,就能直接在里面 using 那个DLL里的class了。 今天想在DELPHI2005里试一下,结果居然浪费了2小时! 先用delphi 2005 NEW了一个Library,Build成了一个DLL,然后new了一个新project,在里面也同样把这个DLL加入了工程的引用里去。然后在uses里声明那个DLL里的单元test,结果是画红线,告诉我找不到test.pas。 我以为是我的语法有错误,查HELP,查不到DELPHI关于如何使用Assembly的文字,查GOOGLE也查不到。 唯一的收获是从GOOGLE查到BORLAND的官方站上一篇讲 Namespace 的文章,里面提到,用DELPHI做Assembly的话,一定要用Package,而不要用library。 OK,我改为new一个Package。DELPHI除了给出这个Package的工程文件,什么都不给。自己去New了一个Class,得到一个有Class框架的文件。在里面写了一个public的函数,Build,通过,得到一个DLL。 回到我的那个引用这个DLL的测试程式,还是在uses里引用这个单元的地方画红线,说找不到那个test.pas。 前后查了2小时的GOOGLE,找不到一篇文章讲应该如何做才对。 最后,我也不用DLL了,直接把那个Assembly工程里包含了那个测试类的PAS单元加进这个工程,当然能用了。 我都想放弃在Delphi2005里使用Assembly了。干脆还是在SOURCE上做CLASS算了。 最后,最后,经过MSN上一个朋友的提醒,突然想起会不会是测试DLL的工程需要引用DLL里引用过的工程? 把DLL工程打开,看看里面引用了些什么东西,都抄下来,到测试DLL的工程里,把那些东西都加上去,然后在uses里写上:test,哈,居然不画红线了。 然后,可以RUN了。调用里面的class的一个test function,也能得到正确的结果了。 回想当时在VS 2003里引用一个Assembly,没那么麻烦啊。难道是碰巧那个测试Assembly的工程里已把Assembly里引用到的工程都刚好全引用了? 结论:要在Delphi2005里使用一个外部的Assembly,一定要在工程里将Assembly引用到的东西都加到工程的引用里去。
系統時間:2024-05-19 8:06:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!