我是個delphi fans,自從試了一下delphi8,第二天就刪掉了,bug太多,沒法用,只好不太情愿地使用著c#,delphi2005出來了,就又裝了一個試用版用了一下,感覺不錯,有點欣喜若狂,就準備使用起來,但是隨著程序規(guī)模的不斷擴大,越來越多地發(fā)現(xiàn)了至少是令人不爽的地方:
1、占用內(nèi)存太多,一般來講寫一會程序就要用掉400m,更可怕的是每調(diào)試一次,內(nèi)存就會增加好多,調(diào)試完了還不給我釋放
2、不穩(wěn)定,尤其是在界面設(shè)計上,經(jīng)常把我關(guān)聯(lián)的事件從控件上刪掉,要么就是莫名其妙的一些錯誤提示,當然這些提示都是在設(shè)計器中的,還不會影響正常的delphi使用,但是經(jīng)常剛剛還好的界面我從代碼切換到ide設(shè)計機器上,就什么也顯示不出來了。
3、內(nèi)部不一致,能編譯通過的,但是且在沒錯的地方用紅色波浪線提示語法錯誤
明明支持
var
a:array of integer;
a := new(array[5]of integer);
編譯沒問題,卻要給我在線錯誤提示,讓我不爽
a明明是一個數(shù)組,我要是寫a.length 他就編譯不通過,非要寫成&array(a).length才行
4、對namespace的支持莫名其秒,非要搞個復雜的命名規(guī)則,在unit名稱上做文章,雖然這樣可以獲得最大的對傳統(tǒng)win32 pas的語法支持,但是感覺這種方式給.net開帶來很多不便,結(jié)果到了uses地方還要引用全名,而不是名稱空間名,還要時時提醒自己用到的是別的.net開發(fā)的dll還是delphi開發(fā)的dll,對同一種東西非要搞出兩套標準,真是讓我惱火
5、debug太差
對比delphi7簡直是倒退
在win32下,可以調(diào)試程序中的變量,到了.net 那個watch窗口就成了擺設(shè),根本沒用
只能看看local var窗口中的東西,然后再一層一層地找下去
6、更要命的是如果用delphi編譯了一個dll,你到c#想怎么用怎么用,你到了delphi里,不行,你還得同時提供*.dcpil文件,否則不讓你用,真是沒話說了
真是強忍著把那個大程序搞完,雖然用戶用起來還行,但是這期間的開發(fā)過程真是要命阿。
還好現(xiàn)在出了個chrom,對他的各個方面還算比較滿意的,但是發(fā)現(xiàn)好像有個bug
如果這樣定義
ta = class
protected
fa:integer;
end;
tb = class(ta)
public
function bbb:ta;
end;
function tb.bbb:ta;
var
rr:tb;
begin
rr := new tb;
rr.fa : =1;
result :=rr;
end;
就是編譯不通過,感覺chrom對protected處理有點小問題
最后只能感嘆,不用c#活得真累
|
新聞熱點
疑難解答
圖片精選