麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Delphi > 正文

Delphi2005學習筆記1

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

namespace
聲明名稱空間
   在delphi的工程文件中,隱含聲明了一個namespace,被稱作工程默認名稱空間。假設工程文件頭定義如下:
PRogram MyCompany.Programs.MyProgram;(library package等關鍵字的頭一樣)
則工程的默認名稱空間是MyCompany.Programs
如果一個Unit的頭定義成Unit  ****;則相當于寫成Unit MyCompany.Programs.****
如果一個Unit的頭定義成Unit ***.****.***;則相當于聲明了一個名稱空間***.****
按第一種方式聲明的Unit被稱作generic unit,它總是工程默認名稱空間的子空間
名稱空間命名不區(qū)分大小寫。也就是說,用.分割的幾段單詞中,最后一部分是不算作名稱是不編譯進assembly中的,比如Unit  AAA.BB.Unit3這種寫法,僅僅聲明了一個名稱空間AAA.BB,Unit3可以看作是不同的文件名稱的區(qū)分,對外界來說是看不到的,當然在Delphi內,還是對他們區(qū)分成兩個不同的部分。利用這個特性,如果一個大的Namespace需要分成幾個文件來編寫,則可以讓這些Unit的全面部分全部一樣,僅在最后一個.的這一節(jié)不同,就行了。
名稱空間的引用
  使用Uses語句。假設有如下語句:
uses aaa.bbb.unit1,unit2;
對于aaa.bbb.unit1已經明確指明,對于Unit2編譯器會按照下面三個順序來搜所名稱空間Unit2
1 The current unit namespace (if any)
2 The project default namespace (if any)
3 Namespaces specified by compiler options
  雖然對于外部編譯器來講,Unit名稱的最后一節(jié)是看不到的也是不可區(qū)分的,但是在Delphi中,最后一節(jié)仍然是不可少的,所以uses語句中,需要包含最后一節(jié),比如在Unit1 AAA.BB.Unit1中定義了Class1,在Unit AAA.BB.Unit2中要使用Class1就必須需在uses中引用全名uses AAA.BB.Unit1或者如果工程的默認名稱空間是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.
但是不管我怎樣試驗,重視編譯錯誤,無法實現(xiàn)。

到目前為止,我還沒有找到如何引用delphi生成的dll的方法。因為我一在delphi新的工程中添加一個(用Add reference菜單)delphi  for .net編譯的dll,然后編譯,就會說致命錯誤,不能導入什么什么東西,請使用包,之類的。但是在VS.net中添加著dll卻沒有任何問題,程序也能正常運行。
到目前為止只找到一個暫時的解決方案,就是不生成library,用package代替,這樣最終目標文件也是dll,而且我在VS中也能正常調用。


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

下一篇:UltraEdit也支持Delphi語法高亮

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 婷婷久久久久久 | 色99999| 综合国产在线 | 成人 日韩| 黑人日比 | 春光影院理论片 | 色淫湿视频| 精品国产96亚洲一区二区三区 | 黄色免费av网站 | 精品中文字幕久久久久四十五十骆 | 91成人一区 | 日韩黄色影视 | 毛片a级毛片免费播放100 | 法国性xxx精品hd专区 | 免费黄色在线电影 | 牛牛热这里只有精品 | 男女一边摸一边做羞羞视频免费 | 久草在线精品观看 | 黄色毛片免费视频 | 日韩视频一区 | 午夜视频久久久 | 亚洲网站免费观看 | 亚洲网站在线观看视频 | 日日天日日夜日日摸 | 成码无人av片在线观看网站 | 手机av在线电影 | 国产毛片毛片毛片 | av免费在线观看国产 | 国产99久久久久久免费看 | 国产刺激高潮av | 国产18视频| wwwcom国产 | 亚洲99| 成人精品一区二区三区中文字幕 | 黄色久 | 国产午夜精品一区二区三区免费 | 中文字幕激情视频 | 久久草在线视频 | 免费黄色大片网站 | 亚洲一区二区三区在线免费观看 | 毛片在线免费观看完整版 |