国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Delphi > 正文

Delphi2005學(xué)習(xí)筆記1

2019-11-18 18:08:07
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
終于由Delphi2005試用了,前兩天體驗(yàn)了一下IDE的一些新功能,還算不錯(cuò),就是速度稍微有一點(diǎn)慢,關(guān)鍵是我的實(shí)驗(yàn)室的機(jī)器也不好,只有256M,宿舍的要好一些512M,用起來(lái)就流暢多了,不過啟動(dòng)速度還是不如VS2005快。說(shuō)到穩(wěn)定性,比D8強(qiáng)多了,但是還是聽到有人說(shuō)bug比較多,用到現(xiàn)在我還沒有發(fā)現(xiàn)什么嚴(yán)重的bug,也許用得還不夠深入吧,不過穩(wěn)定性來(lái)說(shuō),還是可以讓人接受了,雖然沒有D7那樣好的穩(wěn)定性,但是我想至少達(dá)到D7穩(wěn)定性的90%左右了。畢竟對(duì)Borland來(lái)說(shuō)全部使用.net來(lái)開發(fā)編譯器的時(shí)間也不長(zhǎng)。
Delphi2005的新特性就不提了,網(wǎng)上到處都是,這些新特性比如:重構(gòu)還是蠻不錯(cuò)的。
    但是:真是不明白,Together是borland自己的東西,卻非要不支持Delphi,即使支持還是整合到delphi2005里面,還去掉了很多功能。第二點(diǎn)就是網(wǎng)上說(shuō)什么UML圖可以直接生成代碼,我倒是使用了從代碼直接生成圖,但是怎么都沒搞出來(lái)從圖到代碼,不過我沒有使用ECO,不知道是不是這個(gè)原因,但是Delphi2005不是說(shuō)不用ECO也可以得么,真是不明白怎么回事。最后一點(diǎn)就是也許Borland編譯器水平比較高,但是代碼編輯器做得和Vs2005相比是有比較大的距離,在VS2005里面,我只要打一個(gè)字母就會(huì)自動(dòng)顯示出全部符合的代碼提示,包括關(guān)鍵字都可以,并且速度極快,瞬間就出來(lái),在d2005里面非要我再按個(gè)ctrl+空格,才會(huì)出來(lái),而且第一次使用代碼提示的話,出來(lái)之前還要等硬盤狂轉(zhuǎn)一會(huì)。不過公平的講,vs使用的提示是根據(jù)代碼直接出來(lái),d的還經(jīng)過了以語(yǔ)法分析,我懷疑里面說(shuō)不定還要預(yù)先編譯一下前面的,這樣更加精確,但是機(jī)器不好就實(shí)在叫人受不了,而且如果前面代碼有錯(cuò)誤,往往不能提示。說(shuō)到代碼的自動(dòng)縮進(jìn),這點(diǎn)borland真是比不了,VS可以自動(dòng)縮進(jìn)2個(gè)空格或其他的格式也會(huì)自動(dòng)判斷,但是Delphi2005就還是不行,真是沒辦法。最后一點(diǎn)不滿意就是在VS里面直接打3個(gè)///會(huì)自動(dòng)生成注釋模板,但是Delphi就沒提供相應(yīng)的功能,這樣注釋起來(lái)真是不容易啊。
    言歸正傳,Delphi for .net為了適應(yīng).net的一些要求,做了一些語(yǔ)法調(diào)整,但是相關(guān)的書籍卻很少,幫助也寫得不行,像這樣下去即使編譯器獲得成功,但是沒人知道怎么寫.net的delph程序,也是白搭,真不知道delphi.net的好書什么時(shí)候才能出來(lái)。現(xiàn)在既然有了delphi2005,已經(jīng)等不及了,只要自己不斷摸索了。
今天自己先看看幫助,學(xué)習(xí)一下namespace

namespace
聲明名稱空間
   在delphi的工程文件中,隱含聲明了一個(gè)namespace,被稱作工程默認(rèn)名稱空間。假設(shè)工程文件頭定義如下:
PRogram MyCompany.Programs.MyProgram;(library package等關(guān)鍵字的頭一樣)
則工程的默認(rèn)名稱空間是MyCompany.Programs
如果一個(gè)Unit的頭定義成Unit  ****;則相當(dāng)于寫成Unit MyCompany.Programs.****
如果一個(gè)Unit的頭定義成Unit ***.****.***;則相當(dāng)于聲明了一個(gè)名稱空間***.****
按第一種方式聲明的Unit被稱作generic unit,它總是工程默認(rèn)名稱空間的子空間
名稱空間命名不區(qū)分大小寫。也就是說(shuō),用.分割的幾段單詞中,最后一部分是不算作名稱是不編譯進(jìn)assembly中的,比如Unit  AAA.BB.Unit3這種寫法,僅僅聲明了一個(gè)名稱空間AAA.BB,Unit3可以看作是不同的文件名稱的區(qū)分,對(duì)外界來(lái)說(shuō)是看不到的,當(dāng)然在Delphi內(nèi),還是對(duì)他們區(qū)分成兩個(gè)不同的部分。利用這個(gè)特性,如果一個(gè)大的Namespace需要分成幾個(gè)文件來(lái)編寫,則可以讓這些Unit的全面部分全部一樣,僅在最后一個(gè).的這一節(jié)不同,就行了。
名稱空間的引用
  使用Uses語(yǔ)句。假設(shè)有如下語(yǔ)句:
uses aaa.bbb.unit1,unit2;
對(duì)于aaa.bbb.unit1已經(jīng)明確指明,對(duì)于Unit2編譯器會(huì)按照下面三個(gè)順序來(lái)搜所名稱空間Unit2
1 The current unit namespace (if any)
2 The project default namespace (if any)
3 Namespaces specified by compiler options
  雖然對(duì)于外部編譯器來(lái)講,Unit名稱的最后一節(jié)是看不到的也是不可區(qū)分的,但是在Delphi中,最后一節(jié)仍然是不可少的,所以u(píng)ses語(yǔ)句中,需要包含最后一節(jié),比如在Unit1 AAA.BB.Unit1中定義了Class1,在Unit AAA.BB.Unit2中要使用Class1就必須需在uses中引用全名uses AAA.BB.Unit1或者如果工程的默認(rèn)名稱空間是AAA.BB,也可以直接uses Unit1,不管怎么樣,uses中Unit1是必不可少的。
在Delphi的幫助中這樣寫道:
Multiple units can be grouped together into one namespace using an extension of the in clause in the project source file. The file name string can list multiple unit source files in a semicolon-delimited list.
uses  MyProgram.MyNamespace in 'filepath/unit1.pas;otherpath/unit2.pas';

In this example, the namespace MyProgram.MyNamespace logically contains all the interface symbols from unit1 and unit2. Symbol names in a namespace must be unique, across all units in the namespace. In the example above, if unit1 and unit2 both define a global interface symbol named mySymbol, the compiler will report an error in the uses clause.
但是不管我怎樣試驗(yàn),重視編譯錯(cuò)誤,無(wú)法實(shí)現(xiàn)。

到目前為止,我還沒有找到如何引用delphi生成的dll的方法。因?yàn)槲乙辉赿elphi新的工程中添加一個(gè)(用Add reference菜單)delphi  for .net編譯的dll,然后編譯,就會(huì)說(shuō)致命錯(cuò)誤,不能導(dǎo)入什么什么東西,請(qǐng)使用包,之類的。但是在VS.net中添加著dll卻沒有任何問題,程序也能正常運(yùn)行。
到目前為止只找到一個(gè)暫時(shí)的解決方案,就是不生成library,用package代替,這樣最終目標(biāo)文件也是dll,而且我在VS中也能正常調(diào)用。


上一篇:Delphi2005學(xué)習(xí)筆記3——數(shù)組參數(shù)的研究

下一篇:UltraEdit也支持Delphi語(yǔ)法高亮

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門圖片

新聞熱點(diǎn)

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 姜堰市| 祁门县| 武强县| 柳江县| 赣榆县| 德州市| 册亨县| 仁怀市| 米林县| 沾化县| 巨野县| 科技| 华容县| 绍兴市| 高淳县| 阿坝县| 石楼县| 陆河县| 中宁县| 阳高县| 苏尼特右旗| 景德镇市| 水富县| 刚察县| 泽普县| 和平县| 黑龙江省| 潼关县| 天水市| 阿尔山市| 双鸭山市| 顺义区| 马山县| 深水埗区| 江北区| 达州市| 花莲县| 通海县| 米脂县| 建瓯市| 如东县|