線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:5312
推到 Plurk!
推到 Facebook!

VCL 元件開發,是否能夠簡單一點、視覺化一點

尚未結案
g9221712
高階會員


發表:145
回覆:344
積分:162
註冊:2006-07-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-12-22 00:49:04 IP:220.134.xxx.xxx 訂閱
親愛的Borland 
看了vs2005,我真的覺得!我應該開始學習VS2005
因為我發現Borland 沒有好好深耕自己的優勢,卻不斷的去開創新的領域!
其實大家要求沒那麼多啦!vs2005開發自訂元件時,幾乎都是拖拉式,
看到Delphi 都是純手工,而且DeBug非常不容易,我想物件繼承的開發方式
是Delphi為啥不將這一塊做好!搞了一大堆技術,但是使用者用到又有多少?
我只想開發簡單、方便! 技術文件多一點,我們就願意掏錢出來買了!
Borland 一直沒搞清楚這一點!你們有好的技術、但是大家跟不上、搞不清楚、不會用
到最後還是放棄收場!
------
「人們所以覺得寂寞,是因為他們會築牆,卻不會搭橋。」
程式寫的越久,卻發現自己越來越不會寫程式!
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-01-12 22:55:38 IP:220.134.xxx.xxx 訂閱

try try modelmaker
g9221712
高階會員


發表:145
回覆:344
積分:162
註冊:2006-07-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-01-13 06:26:17 IP:220.134.xxx.xxx 訂閱
hahalin大大:
感謝您的回應!但是要去哪裡找資料呢?或許又開始有了方向!但是資料不足,又讓人裹足不前!
------
「人們所以覺得寂寞,是因為他們會築牆,卻不會搭橋。」
程式寫的越久,卻發現自己越來越不會寫程式!
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-01-13 08:09:29 IP:203.204.xxx.xxx 未訂閱
最近用 VC++ 2005 和同事寫 Windows Forms 程式
發現 MSDN OnLine 的語法和範例都不能用
在 Google 找了半天才找到可用的語法
語法改太大了
最後同事放棄, 改用 Turbo C Explorer 2006
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-01-13 16:43:57 IP:220.134.xxx.xxx 訂閱

model maker

http://www.modelmakertools.com/

ess model

http://essmodel.sourceforge.net/

vitojeng
一般會員


發表:2
回覆:13
積分:13
註冊:2003-10-06

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-02-18 16:59:06 IP:59.105.xxx.xxx 訂閱
VS2005 不熟, 不太瞭解. 到現在自己還是在用 Delphi 7.

不過您說 Borland 沒好好深耕, 實在是感同身受.
許多商業應用的功能其實可以交由眾多的 3rdParty 廠商來做, 卻想自己做.
做下去後又無法深耕, 新技術變成了死胡同, bug 一堆. 使用者不斷地玩踩地雷, 邊踩邊罵 Borland.
若是哪一家 3rdParty 廠商像 Borland 這樣搞, 還能混那麼久嗎 ?

而另一方面, Language & IDE 需要的功能, 又遲遲不加, 變成要 3rdParty 廠商的工具來支援.
若不是 .NET 出來, Delphi Language 不知要到何時才能更上層樓 ?
(不是完全沒進步, 而是進步太慢了, 搞到最後很想轉台)

不過幸好還有爭氣的 3rdParty 廠商, 靠眾多的協力元件, delphi 7 還能撐著用下去. 也不會輸 .NET 太多.
像 DevExpress, RemObjects, JVCL, ModelMakerTools 等, 其實做得都很好. 不過沒有垃圾回收機的機制,
這個早該在 Delphi 3 就推出來的功能...還是覺得很遺憾. Owner 機制勉強用用吧...

言歸正題, 您提的 VCL 元件開發更單簡, 其實有這樣的工具, 就是 CDK.
沒記錯的話是 Raize 推出的, 後來被 DexExpress 買過去(就像 CodeRush 一樣).

CDK 自己在很多年前試用過, 只有一句話: 真的很酷, 看到就覺得興奮.
我相信在 Component Writing 的領域裡, 相信不會輸 VS200x (不過我對 VS200x 不瞭解啦).
它的 Demo & Help 等輔助部份寫得還不錯, 還有 step by step 的教學.

不過它似乎後繼無力, 當時我就發現CDK產品開發的動能不太強, 可能是資源不足, 叫好不叫座吧 ?

但這個情形不知是否也透露了一件事, 就是 Component 的概念雖好, 但是真正的高手, 不會想去用它,
因為 coding 才能做更全面的控制, 更適合自己的規劃. 而比對較一般的 user 而言, 即使有 CDK 這樣
的工具, 仍不會覺得想去用它, 最好是有現成可以直接拿來用就好了, 幹麻還寫 component ? 也就難以
發揮 CDK 的能力, 因為要用 CDK 到頭來還是須要具備 VCL 較底層的能力.

官網沒找到, 我想這個產品大概陣亡了...這裡有其他網站的介紹, 只能供瞻仰遺容:
http://www.componentsource.com/products/expressclassdeveloper/summary.html


===================引 用 文 章===================
親愛的Borland
看了vs2005,我真的覺得!我應該開始學習VS2005
因為我發現Borland 沒有好好深耕自己的優勢,卻不斷的去開創新的領域!
其實大家要求沒那麼多啦!vs2005開發自訂元件時,幾乎都是拖拉式,
看到Delphi 都是純手工,而且DeBug非常不容易,我想物件繼承的開發方式
是Delphi為啥不將這一塊做好!搞了一大堆技術,但是使用者用到又有多少?
我只想開發簡單、方便! 技術文件多一點,我們就願意掏錢出來買了!
Borland 一直沒搞清楚這一點!你們有好的技術、但是大家跟不上、搞不清楚、不會用
到最後還是放棄收場!
bruce
中階會員


發表:19
回覆:121
積分:83
註冊:2002-04-16

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-03-14 16:12:08 IP:211.21.xxx.xxx 訂閱
Delphi 的TFrame可以開發視覺化元件
TDataModule可以開發非視覺化元件
都相當方便,不知何以說不夠視覺化?
如果說是開發VCL的元件不夠視覺化那倒是真的
G01
高階會員


發表:249
回覆:379
積分:215
註冊:2002-05-21

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-03-19 09:37:48 IP:61.64.xxx.xxx 訂閱
--> 許多商業應用的功能其實可以交由眾多的 3rdParty 廠商來做

誠如所言,希望原廠聽到了!!
sigmaccc
一般會員


發表:32
回覆:40
積分:14
註冊:2003-11-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-03-26 11:05:36 IP:220.130.xxx.xxx 訂閱
小弟看法和前輩們略有不同。
用過VS 2005後,才知道C Builder是這麼好用,這麼視覺化。
VS 2005連最基本的控制項ClientSocket,ServerSocket都不是Visual Component的。
最基本的Debug時要看全域變數的功能也沒有、還有一堆看不懂的資料形態.......


system72
中階會員


發表:15
回覆:114
積分:55
註冊:2005-08-17

發送簡訊給我
#10 引用回覆 回覆 發表時間:2007-03-26 21:15:03 IP:219.80.xxx.xxx 訂閱
我也覺得很奇怪,

Delphi開發元件應該算簡單的了...

當初Delphi 2 時,網路上就 一堆人開發的VCL 元件在供人下載,


那時也有書專門提如何寫元件.

感覺應該是 門檻不高,有VC 一年背景的人,大概自學一個月就可以上手寫元見了.

而缺點也正是這樣,因為門檻不高,容易上手,相似的元件多,

當 有免費的就一堆,要付費的商業元件如要賺錢的難度相對較高..

所以變成缺點是, 能靠賣元件長期賺錢的,大概是少數.

再來就很少看到書,提如何自訂元件了. (因為網路上已經一堆了)

(尤其有不少知名原件組非常強大,大概你去問別人如何讓某某VCL有什麼效果,別人就會跟你說XXX就有這功能,不用自己開發)


再更視覺化? 會更簡單或更有生產力嗎?

我相信對Delphi有一年經驗的人, 應該差別不大.



===================引 用 文 章===================
小弟看法和前輩們略有不同。
用過VS 2005後,才知道C Builder是這麼好用,這麼視覺化。
VS 2005連最基本的控制項ClientSocket,ServerSocket都不是Visual Component的。
最基本的Debug時要看全域變數的功能也沒有、還有一堆看不懂的資料形態.......


pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#11 引用回覆 回覆 發表時間:2007-03-27 09:09:18 IP:60.248.xxx.xxx 未訂閱
如果開發元件能像3D Max一樣,我要塑形成什麼模型,在零件盤上拖拉幾顆零件,設定一些屬性行為,便能看出目前開發元件呈現的模樣,
在VS系列,早期稱做使用者控制項,Net上繼承自UserControl類,新的元件開發,編譯元件,即可暫時擺上元件盤上,提供放置在表單,
vcl framework便沒有如此方便,但整個框架是有清析的脈絡可尋,可是真要能"隨意開發",還得了解整個Win32 api運行機制及深入VCL概念.

不過有幾人? third party元件一堆,要什麼幾乎有什麼.....
g9221712
高階會員


發表:145
回覆:344
積分:162
註冊:2006-07-06

發送簡訊給我
#12 引用回覆 回覆 發表時間:2007-03-27 11:09:39 IP:60.248.xxx.xxx 訂閱
>> third party元件一堆,要什麼幾乎有什麼.....

可是自己寫的元件,才可以搭配內部管控機制,像我繼承InfoPower元件,就有一堆怪問題!

若只有用 third party,會不會寫越久,越不會寫程式!
------
「人們所以覺得寂寞,是因為他們會築牆,卻不會搭橋。」
程式寫的越久,卻發現自己越來越不會寫程式!
Coffee
版主


發表:31
回覆:878
積分:561
註冊:2006-11-15

發送簡訊給我
#13 引用回覆 回覆 發表時間:2007-03-27 11:19:53 IP:220.130.xxx.xxx 訂閱
其實每個Third Party元件,雖然都是來自於VCL,
但是它們會有他們自己的Design Pattern,不見得與VCL原生的相同,
尤其是很多Third Party的目標是focus在Delphi「本身」沒有,或難以提供,或先天不良的solution
當然就不可能去完全follow Delphi本身的概念。
加上每個人都會有自己的想法,會認為「什麼樣的implement」對於這個solution才是好的,或者是容易的,
自然而然的就會認為,原先的不好或爾爾。

當然,這也就是我們會想自己改寫的原因,
那麼,理所當然的如同我們去了解VCL,我們也應當去了解原先該元件的設計架構,
才能夠在讓原先功能正常運作的狀況下,讓改寫的元件得以正常運作。

就一個Class的使用者而言,他只要知道How to operate,而不需要知道How to build。
但是就一個架構者而言,理解這個Class如何的運作卻是必須的。

其實對我來說,也許VCL元件開發可能沒有想像中的簡單,也許還要參考很多書跟Source,
但是我認為我在翻Source的過程中翻到很多很好的idea,
這也是對我們在發展自己的程式中有所助益,只是有拖拉的方式就可以完成元件開發,
我想在新元件的功能與除錯上不見得比較輕鬆吧,個人的一點想法
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
vitojeng
一般會員


發表:2
回覆:13
積分:13
註冊:2003-10-06

發送簡訊給我
#14 引用回覆 回覆 發表時間:2007-03-27 12:33:44 IP:59.105.xxx.xxx 訂閱
如同 pedro756901 大大所言, 若能做到這樣就太好了.

對於閒熟 delphi 及 VCL 的高手來說, 寫元件很容易, 門檻不高. 有更多的 delphi 使用者僅止於元件的使用, 便要完成各種案子, 寫元件可能是另一個世界的事情了.

但他們也很希望享有 OO 重覆使用的好處, 可以容易地讓他們重覆使用曾經做過的東西. 若是不須要熟 VCL, 甚至不懂什麼 class 也能做, 豈不太好了 ?
所以這個部份, 個人覺得 IDE 還有很大的發揮空間.

記得以前在學習繪圖軟體 PhotoImpact 時, 菜鳥的我, 4/5 以上的功能及特效都還不會用, 我卻能將我製做好的圖, 輕易地加入物件資料庫, 在以後隨時拖出來利用. 而 PhotoImpact 本身就利用這種功能, 預先做好非常多的物件, 供初學者直接拖出來使用. 有些簡單的物件只是設定色彩,大小,模式等, 成為一個小繪圖零件. 有些複雜的物件還有光源, 動畫等, 最後組合成一個完整的畫面(例如海報或網頁), 拖出來就是一幅圖, 然後才開始按照現在的需求來改.

當時我聯想到 delphi 若能在這些部份做得像這樣, programmer 生產力可以更高. delphi 裡面的元件盤內儲存的其實只是原始的 class, 我們在"操作"元件時, 通常會需要設定許多的屬性, 而這些經過我們設定好屬性的"物件"卻不能輕易地儲存, 導致每次都要重新設定. 或許我們可以用 code 的方式解決, 或運用一些 pattern, 我不過只是想把昨天設定的元件再拿來重覆利用, 真的需要從認識 TObject, TComponent, VCL 等等, 最後再 RegisterComponent 那麼麻煩 ? 也難怪許多人卻步了.

若連初學者都可以簡單地製作出可共享的物件, 那麼肯定會有更多的人想用 delphi, 3rdParty 廠商也會投入更多的精神製作更多好的元件.

類似這樣的需求其實對 Borland 只是小菜一碟, 舊技術新包裝, 運用現成的 stream system 很輕易地可以做出來. 一部份 reuse 的需求其實可以不須要寫 code, 真的只要拖拖拉拉就好了. 個人是覺得 reuse 不見得就一定是用 inherited 或是搬出 design pattern. 所以當時在 delphi 5 上看到 CDK 時, 蠻感動的. CDK 要做到像上述那麼還有段距離, 不過個人覺得確實有將元件製作的門檻降低了. 不過話說回來, 個人覺得這應該是 Borland 該做的事啦.
system72
中階會員


發表:15
回覆:114
積分:55
註冊:2005-08-17

發送簡訊給我
#15 引用回覆 回覆 發表時間:2007-03-27 15:28:48 IP:219.80.xxx.xxx 訂閱

其實 Borland 應該做的事也很多..

很早以前就有滿多人都希望, 原廠直接更好的支援 unicode.. . 等.



又前幾年MS投資 borland 好像1-2億美金,

現在回看起來,根本是間接買了borland 某些東東,(不全買,只要有影響力可以控制決策就好)

在Ms對管理層的影響下, Delphi 的地位大概變的跟MS本身有些放在二,三線的產品類似,

規劃上,可能還要不能做的太強, 以免殺到MS自己一堆金雞母群


現在看 Delphi 發展單位,從 borland 分出來,應該也不算壞事.

不過,路好像也不是很好走.

除非MS 分成,OS,資料庫,開發工具,office,..等好幾家,.




至於視覺化的元件開發環境,

似乎到其次,這種通常要搭配專家系統,相關元件組,尤其是針對某個功能而設定來輔助,
才會有水準的生產力,
不然反效果,讓開發比較繁雜就不好.

似乎是codegear 提共 3rd party 支援,兩者合作會比較適當.





===================引 用 文 章===================
如同 pedro756901 大大所言, 若能做到這樣就太好了.

對於閒熟 delphi 及 VCL 的高手來說, 寫元件很容易, 門檻不高.? 有更多的 delphi 使用者僅止於元件的使用, 便要完成各種案子, 寫元件可能是另一個世界的事情了.
..

類似這樣的需求其實對 Borland 只是小菜一碟, 舊技術新包裝, 運用現成的 stream system 很輕易地可以做出來.? 一部份 reuse 的需求其實可以不須要寫 code, 真的只要拖拖拉拉就好了. 個人是覺得 reuse 不見得就一定是用 inherited 或是搬出 design pattern. 所以當時在 delphi 5 上看到 CDK 時, 蠻感動的. CDK 要做到像上述那麼還有段距離, 不過個人覺得確實有將元件製作的門檻降低了. 不過話說回來, 個人覺得這應該是 Borland 該做的事啦.
tomex.ou
一般會員


發表:8
回覆:54
積分:22
註冊:2005-05-05

發送簡訊給我
#16 引用回覆 回覆 發表時間:2007-03-27 19:46:25 IP:220.130.xxx.xxx 訂閱
你可能對vs2005及.net framework不熟,才會覺得不好用。
vs2005的視覺化元件並不像bcb多,因此它們從架構去思考,因此不急著推出一大堆沒用的control
它們最主要的工作,是porting WinAPI=>.Net Managed Code.

要作網路連線控制,using System.Net 命名空間下,一大堆好用的類別可輕易使用,又穩固
bcb6的ServerSocket拉一拉是ok,但真正去寫code會發現問題一大堆。

另外,vc2005擴充c 的保留字,我個人覺得把c 的簡單表達弄dirty了!
只有c#才是因應.net而創作的,因此在語法上最精、最適切。

===================引 用 文 章===================
小弟看法和前輩們略有不同。
用過VS 2005後,才知道C Builder是這麼好用,這麼視覺化。
VS 2005連最基本的控制項ClientSocket,ServerSocket都不是Visual Component的。
最基本的Debug時要看全域變數的功能也沒有、還有一堆看不懂的資料形態.......


------
A fan of C#.NET
系統時間:2024-05-02 20:41:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!