2006年第1季的回顧

是不是隨著人的年齡愈來愈大就覺得時間過得愈來愈快呢? 才記得似乎剛在Blog上寫完告別2005的文章,轉眼之間2006已經過完了1個季。不過2006Q1發生了很多的事情,而2006Q2開始對我而言似乎是一個新生的開始,值得寫一篇文章回顧Q1並且展望Q2之後的日子。

 

首先回去談談年初過年時的計劃,記得在當時我希望能夠藉由這個空閒的時間多看幾本書,不過很顯然的是就像我們做專案開發一樣,似乎總是會延遲,因此最後我決定把時間花在2本書上(其實我還閱讀了額外2本和管理相關的書啦),一本是關於Scrum的,而另一本則是有關ICONIX:

 

n       Agile project management with Scrum

n       Agile Development with ICONIX Process

 

2本都是軟體工程相關的書籍,我之所以會想閱讀這2本書的原因是因為我認為軟體工程未來將深深的影響IDE的發展,另外的原因則如同Chris Bensen在他的Blog說明的以及我在3月於大陸發表BDS 2006和一些現場朋友說的,Borland許多的R&D團隊也在評估使用Scrum,因此我也想瞭解Scrum並且思考Scrum會如何改變R&D團隊的開發文化以及Scrum能夠怎麼樣幫助我讓我的工作更有效率。Agile project management with Scrum這本書寫不錯,不但閱讀起來很輕鬆,愉快,更重要的是我一邊閱讀這本書的內容一邊在回憶和思考當初我自己在做專案開發時如果知道這些知識的話Scrum能夠如何讓當時的我解決許多專案開發的問題呢? 這本書也讓我對Scrum Master有了興趣,真希望Borland能夠提供Scrum Master的訓練,如果真的有的話,我一定報名,即使是需要飛到美國受訓我也願意。此外在閱讀完這本書之後我也在想,BorlandALM或是工具應該實作一些支援Scrum的功能,例如BacklogScrum Daily Meeting等。湊巧的是,當3月底我在上海的HP進行Together的技術講座時,提到了Scrum,現場也有HP的朋友立刻詢問Borland的工具是否支援Scrum,看來上海HP似乎也有使用或是研究Scrum。當BorlandR&D團隊開始使用Scrum之後,我更有興趣的是知道Scrum對於R&D團隊的影響是什麼? Scrum對於提昇Borland軟體的質量起了多大的作用? 在使用Scrum的過程中遇到了什麼樣的困難? 如何解決這些困難? 每一個R&D團隊的成員是什麼逐漸接受和使用Scrum? 這些問題都是未來我和R&D團隊聊天的好話題,我非常想知道,因為這些問題和答案都對我非常的有用。其實我想Scrum不光是可以使用在軟體開發的工作,現在連我日常的計劃和工作我都開始使用Scrum的一些精神和做法,效果不錯。

 

至於ICONIX這本書則不太適合我的胃口,當初會想閱讀這本書是因為我讀了這本書的介紹,似乎和我前一陣子寫的物件導向開發實踐之路的想法有點類似,因此我想看看這本書怎麼討論如何融合UMLAgile的開發模式,不過我似乎是有點失望,和Scrum比起來,我明顯的比較喜歡和傾向使用Scrum

 

2月底一直到3月,我都在大陸各地出差發表BDS 2006,在前幾個Blog中我也說過許多朋友關心IDE的未來,但隨著41日起DevCo開始正式的運作,我的心情也開始愈來愈好,因為我知道從41日起我開始擁有更多的時間可以投入IDE和開發者社群的工作。Borland的產品線太長了,沒有一個Borland的技術人員可以瞭解所有的產品和技術,但是身為大中華CTO的我卻必須花費時間在所有的產品上,因為我的工作就是必須能夠在台上談論任何的Borland產品和技術。我知道對於一些我比較沒興趣的產品我並不精深,但是我仍然需要花時間瞭解,這分散了我對於IDE的投入,因此許多我想做的事情都無法全力以赴,現在我終於可以慢慢的回到IDE上,這是我的興趣和我的專長,我認為IDE仍然有許多新的東西和技術可以做,絕不是一些Borland的管理層想的IDE沒有未來。隨便說一些發展的方向就開始讓我們瞭解有多少東西是值得去做並且能夠激起開發者社群的熱情:

n       軟體工程

n       新的平台,新的程式語言功能

n       移動平台,.NET 2.064位元,GPBetter Optimization

n       結合開源和商業軟體的優點,開放IDE的架構,讓更多的開發人員撰寫IDEPlug-in

n       AJAXAJAX For DelphiAJAX For C/C++

n       測試驅動,測試架框,軟體工程結合測試模型

n       更標準的C/C++編譯器,Boost/ACE/Tao/Loki For C/C++ Builder

 

還有太多太多我個人的想法以及目前尚不宜說明的東西,更不用說能夠和開發者相處所帶來的快樂。當軟體開發流程和軟體工程被開發社群接受之後,下一代的IDE將更能刺激新的需求和發展,更能提昇開發的生產力和品質,因為不管我們使用的開發流程是什麼,使用的軟體工程是什麼,最後的目的不就是要能夠真正的開發出有價值的軟體嗎? 最後的重點仍然要回到開發的中心。這是一條令人回味無窮的道路,對於那些認為IDE沒有未來的人來說,我只能認為他們的想像力不夠,對於開發的熱忱也不夠。    我個人認為IDE目前發展到現在是屬於第1階段的成熟期,由於在目前的概念下IDE已經發展到了幾乎成熟和極致的時間點,因此要更進一步的突破,我們需要藉由軟體工程,軟體開發流程來幫助開發者從『會寫軟體但是生產力和品質仍然有待加強的青澀』階段,突破到下一個IDE再次循環的階段。

 

        Q2開始我大部份的心力和時間可以回到IDE之後,我可以進行我放下許久的工作,例如我念茲在茲的ECO計劃,Delphi 11版程式語言的功能,下一代C/C++編譯器,下一代的JBuilder以及新的資料庫技術等。許多人擔心IDEBorland脫離之後DevCo的命運會如何,但是對於我個人而言我覺得DevCo一點也沒問題,因為DevCo來自偉大的傳統,但是DevCo將從頭開始,DevCo將贏回開發者的尊敬,熱忱和市場。為什麼? 因為DevCo將是市場上唯一以開發者為焦點的公司,它將擁有獨特的利基和競爭力,更重要的是就以目前我知道將從Borland志願到DevCo的人都是我認為在Borland中最優秀的人(呵呵,這是我個人的感覺啊,沒有特別的用意)

 

        Q1我也完成了Delphi 7高效率資料庫程式設計一書的Delphi 2006更新版,寫了許多的Blog,翻譯了許多的BDN文章,發表了BDS 2006,進行了許多的Together技術講座,2006Q1是多彩多姿和豐富的。而我期望會有一個更豐富的Q2Q2最重要的Backlog就是ECO計劃,我終於要展開它了。

  1. #1 by 剑语呢喃 on 2006 年 04 月 05 日 - 07:27:13

    I’ll follow my heart
    我觉得这句话正是对李老师工作的写照。
     
    另外问一句,李老师对思维导图以及思维导图软件有何看法?
     
    再有一句,有公司有接手borland R&D部门的意向嘛?

  2. #2 by on 2006 年 04 月 05 日 - 10:42:31

    李老大,BDS2006的Update2好久出来哦,我用BCB基本还只能把玩一下,中间好多问题哦,不知道Update2是不是能让我开始在BCB2006中的工作。

  3. #3 by Josh on 2006 年 04 月 05 日 - 23:58:50

    不管要引進哪種新技術 , 還是希望Borland把目前的 IDE先穩定下來再說;目前的Borland技術服務仍然有許多可被檢討的地方 ; 空有技術沒有配合的服務 , 對使用者來說是個很大的損失 ; 這是我買了BDS2006至今仍然不能開工 (已經三個月了….), 對Borland最大的詬病!!

  4. #4 by wise on 2006 年 04 月 06 日 - 00:59:05

    >>這是我買了BDS2006至今仍然不能開工 (已經三個月了….), 對Borland最大的詬病!!
    同情,BORLAND已经不是第一次这样,DELPHI6,DELPHI8,DELPHI2005,以及现在的2006,无不让我们伤神,BORLAND为什么不把一个半成品贴上BETA的标签放出来呢?如果今天的2006是个BETA出现这样的问题,至少大家的感觉会好些,

  5. #5 by lu on 2006 年 04 月 06 日 - 01:27:23

    bds2006是有些小问题,但好象还不至于用Bata标签的地步吧,是不是你目前使用的第三方组件本身有些问题吧.
    不过,非常期待update2能够把Com精灵加上,没有他没办法开发Com+服务器程序啊

  6. #6 by on 2006 年 04 月 06 日 - 02:23:41

    >; 這是我買了BDS2006至今仍然不能開工 (已經三個月了….), 對Borland最大的詬病!!
    是什麼原因不能開工, 你要各說出來我才能幫忙, BDS 2006 update之後品質已經很不錯了, 許多人也用BDS 2006開發軟體, 應該不會到不能開工的地步吧, 只是我知道Borland TW是很久不做跟IDE相關的活動和服務了, 我們會在DevCo解決這個問題.

  7. #7 by on 2006 年 04 月 06 日 - 02:25:00

    >另外问一句,李老师对思维导图以及思维导图软件有何看法?
     
    ? 思维导图以及思维导图软件是什麼, 抱歉我不懂.
     
    >再有一句,有公司有接手borland R&D部门的意向嘛?
     
    有啊, 有9家在跟Borland談, Borland的官方Blog都有說啊.

  8. #8 by on 2006 年 04 月 06 日 - 02:29:42

    >BORLAND为什么不把一个半成品贴上BETA的标签放出来呢?如果今天的2006是个BETA出现这样的问题,至少大家的感觉会好些,
     
    BDS 2006不是半成品, 它的妥善率很高, 從BDS 2006的高使用率以及客戶的回饋都可以知道, 你有什麼問題可以在這裡提出來也可以藉由BDS 2006的Control Center提報給QA Team.

  9. #9 by lzf1010 on 2006 年 04 月 06 日 - 03:38:25

    BDS2006整体上已经达到可用的程度了,但还是有许多改进的地方。1、Default Layout,Debug Layout,Classic Undocked这三者之间切换的话会有点小问题。2、只启动delphi win32来进行together相关的设计的话,问题多多,但是启动完整的BDS情况还算可以,能达到可用的程度3、porject Manager里有多个porject的话,使用里面的右键菜单来进行编译的话,偶尔会出现DCC100.dll或者coreide100.bpl之类的错误,除非强行结束进程,否则关闭不了。4、html编辑器存在致命的bug,使用delphi来新建一个html文件,在里面进行设计和编写html代码,在代码编辑器和可视化设计器之间切换的过程中,有时会出现严重的错误,这时保存文件的话,一定会后悔,因为整个文件都将被清空,你之前所作的工作将会白费。我没用过asp.net的设计器,不知道会不会也有同样的问题?5、将delphi的组件编译为bcb可用的控件(选中Generate all C++Builder files)时,有极少的组件通不过,而且不报任何错误就退出整个BDS,比强行结束进程还要快
     
    基本上遇到的问题就这么多,现在使用BDS2006基本上一天只需启动一次就可以了,还算是很稳定的了
    顺带问一个问题,ECO有没有打算出一个ECO for Delphi WIN32版本?我对win32的开发更感兴趣,但是又很想使用ECO的技术

  10. #10 by Stony on 2006 年 04 月 06 日 - 04:24:45

    AJXJ可真是热门阿

  11. #11 by bjzhq on 2006 年 04 月 06 日 - 05:08:25

    我也遇到类似的问题:
      一个项目工程组, 如果包含20多个project的话, 使用Build All时,
    有时也会出现 rtl100.bpl 的错误, 但是一个一个的 build 时, 都能build, 没有错误发生

  12. #12 by on 2006 年 04 月 06 日 - 11:38:00

    估计不能开工和特定的应用有关系,我想可能情况和我差不多,BCB6积累了大量的工程涉及到应用的各个方面,偏偏BCB2006中又去掉了BCB6中的某西功能,搞的一定有一群同志不能开始用BCB2006升级工程,比如使用了Indy10的工程哈哈,所以虽然说BSD2006整体上来说不能算一个Beta版本,但是就BCB2006来说还基本上算一个Bate,顺便说一句Delphi2006只用Win32开发还是比较稳定的,只是有时内存占用会剧增。

  13. #13 by J.N. on 2006 年 04 月 06 日 - 16:52:57

    这几天测试 delphi 2006,发现 BDP 似乎不支持 MS SQL Server 里的 NTEXT  类型的 Field.
    如果是 Text 类型的 Field,使用 Bdp 从里面读出数据没有问题。我大概是这样做的:
    ——————function TMyData.OpenData: DataSet;var  ADataSet:DataSet;  CommandStr: string;begin  ADataSet:=DataSet.Create;  Commandstr:=’select * from test’;  FConnection:=BdpConnection.Create(FConnStr);  try    FConnection.ConnectionOptions:=FConnOption;    FCommand:=BdpCommand.Create(CommandStr,FConnection);    FConnection.Open;    FDataAdapter:=BdpDataAdapter.Create(FCommand);    FDataAdapter.Fill(ADataSet);  finally    FCommand.Close;    FConnection.Close;  end;  Result:=ADataSet;end;—————————
    然后,如果做:TextBox1.Text := ADataSet.Tables[0].Rows[0][‘AContent’].ToString; 看到的不是 Field 的内容,而是显示 “System.Char[]”。
    OK, 换个办法:———————
    type  TArrayOfChar = array of Char;
    var  C : TArrayOfChar;
      C := ADataSet.Tables[0].Rows[0][‘AContent’] as TArrayOfChar;  TextBox1.text := Convert.ToString(C);————————
    这时候,如果 AContent 这个 Field 是 Text 类型,一切正常。不管是中文还是英文,都能在 Textbox1 里面正确地显示出来。但如果这个 Field 是 NText 类型的,则 TextBox1 里显示中文是一堆乱码,英文和数字(ASCII) 的显示正确。
    同样的一条 Record ,如果我拿 SqlConnection + SqlCommand + SqlDataAdapter 来取,然后 SqlDataAdapter1.Fill(ADataSet) 的话,则可以直接做:TextBox2.Text := DataSet11.Tables[0].Rows[0][‘AContent’].ToString;  不需要再从 array of Char 来转换。并且中文也正确显示。
    不知道 Bdp 在这里究竟是怎么一回事?是 bdp 有bug,还是需要对 NText 字段做什么 Encode 或者 decode 的操作才能通过 bdp 拿到正确的数据?

  14. #14 by bjzhq on 2006 年 04 月 07 日 - 01:15:39

    Delphi2006的 Build 问题:
      一个项目工程组包含几个 project, Build ALL 后, 将计算机的时间调整到以前的日期, 再执行 Build ALL 时, 部分 project 并没有 Build, 而是 compile, 看看 dcu 的日期就会知道. 因为在发布程序时, 我们都是使用 Build ALL的.
      希望李大师反应一下

  15. #15 by Unknown on 2006 年 04 月 07 日 - 05:25:57

    关心李老师ECO和GP的计划,想学习使用ECO,想了解Delphi怎样实现GP?

  16. #16 by haitao on 2006 年 04 月 09 日 - 15:30:50

    SCRUM软件开发过程?这个词我是第一次听说,不过用Delphi开发MIS项目,应该一直是按这种模式进行的。以前都说大陆的MIS项目的失败率畸高,但是感觉有了Delphi,这个现象应该不会再有了。靠的就是Delphi的快:快速实现框架程序、由用户针对可操作的程序再作反馈,然后立即分析反馈、快速修正程序;客户满意后即进人更丰富功能的版本的快速开发。。。--这种快速反应,才杜绝了MIS最大的危险:程序做完了,用户才能实际操作,之前开发方和客户方都是各说各话,任何意见都是基于自己的想象,而发方和客户方由于经历和立场的不同,对于同一个名词,很可能都想的不一样。。。最终作出来的东西可能根本不是客户真正想要的!有了Delphi,这种问题将不复存在。
    但是,可惜一般的客户总是觉得用Delphi作MIS是最没技术含量的,也就是最便宜的。有点钱的客户开口就是必须基于j2ee、weblogic,再宽容的也是.net、b/s。。。
     

  17. #17 by Josh on 2006 年 04 月 09 日 - 23:25:49

    To 李維老師                      其實Delphi幾乎可說是目前最優秀的IDE產品,不管從哪方面來看….都是如此 , 只不過我不知道Borland的CEO到底在想些什麼?另外就是Delphi的版次出現的太快,對新技術的開發支援不足(例如 Plam & PocketPC … 其實市場上的開發需求已經出現了),還有就是文件嚴重不足…等等,這些都是首要的問題(當然也包含一些Bug的問題),解決掉這些問題 ; 其實個人覺得Delphi的重要性實在不亞於Java ….. 目前正在等待Update Pack2 的發行….這是我之所以仍然無法開工的問題所在……..(PS 先前的發言時在有些失禮…請見諒…畢竟對User而言…花錢買了東西….測試了幾個月而無法解決問題….實在是很無奈)另外,小弟目前正從事一部分BDS2006 IDE外掛套件的開發工作 ; 嘗試整合一些之前開發的工具;不知道這個部分的資料該從哪裡取得(因為BDS2006的IDE實在是真的太龐大了…..),李老師是否也有打算要出這一類的書籍呢?還有關於ECO系統開發,不曉得何時會有新的書籍出現….目前也只有一步步慢慢地測試了………..

  18. #18 by on 2006 年 04 月 10 日 - 01:41:37

    >我也遇到类似的问题:
      一个项目工程组, 如果包含20多个project的话, 使用Build All时,
    有时也会出现 rtl100.bpl 的错误, 但是一个一个的 build 时, 都能build, 没有错误发生
     
    看一下Chris的Blog,應該是.NET本身的問題,建議先用Compile All, 等update 2出來之後再使用Build All.
     
    http://blogs.borland.com/ChrisHesik/archive/2006/04/06/24233.aspx

  19. #19 by on 2006 年 04 月 10 日 - 01:57:56

    >對新技術的開發支援不足(例如 Plam & PocketPC … 其實市場上的開發需求已經出現了),還有就是文件嚴重不足…等等,這些都是首要的問題(當然也包含一些Bug的問題),解決掉這些問題 ;
     
    是的, 我們知道,這是為什麼我們要出來DevCo的原因之一.Pocket PC/WinCE/SmartPhone會在HighLander支援,至於文件的問題也是我一直以來想解決的,我也希望DevCo能有不同的做法.
     
    >目前正在等待Update Pack2 的發行….這是我之所以仍然無法開工的問題所在……..(PS 先前的發言時在有些失禮…請見諒…畢竟對User而言…花錢買了東西….測試了幾個月而無法解決問題….實在是很無奈)
    Update 2快出來了,R&D Team想解決更多的Bug因此決定延後1,2個星期.”測試了幾個月”?是測試什麼問題呢? Update 1也已經很穩定了啊
     
    >另外,小弟目前正從事一部分BDS2006 IDE外掛套件的開發工作 ; 嘗試整合一些之前開發的工具;不知道這個部分的資料該從哪裡取得(因為BDS2006的IDE實在是真的太龐大了…..),李老師是否也有打算要出這一類的書籍呢?
     
    Open Tools API, BDS 2006有這方面的資料,在source下有code, 在BDN上有一些資料你可以看看.
    >還有關於ECO系統開發,不曉得何時會有新的書籍出現….目前也只有一步步慢慢地測試了………..
     
    Ah,ECO問的人愈來愈多,我也在努力之中…
     

  20. #20 by lzf1010 on 2006 年 04 月 10 日 - 02:15:59

    to 李老师:
    ECO有没有打算出一个ECO for Delphi WIN32版本?我对win32的开发更感兴趣,但是又很想使用ECO的技术

  21. #21 by on 2006 年 04 月 10 日 - 05:27:29

    >to 李老师:
    ECO有没有打算出一个ECO for Delphi WIN32版本?我对win32的开发更感兴趣,但是又很想使用ECO的技术
     
    ECO使用了.NET的Reflection功能,因此要讓ECO在Win32下Run的工程不小,我是有聽說ECO Team有考慮出Win32的版本,只是不知道時程會是什麼時候.

  22. #22 by Josh on 2006 年 04 月 10 日 - 06:39:18

    SCRUM 開發流程是 Agile Process 的一種,以英式橄欖球爭球隊形 (Scrum) 為名,基本假設是『開發軟體就像開發新產品,無法一開始就能定義 Final Product 的規程,過程中需要研發、創意、嘗試錯誤,所以沒有一種固定的流程可以保證專案成功』。Scrum 將軟體開發團隊比擬成橄欖球隊,有明確的最高目標,熟悉開發流程中所需具備的最佳典範與技術,具有高度自主權,緊密地溝通合作,以高度彈性解決各種挑戰,碓保每天、每個階段都朝向目標有明確的推進,因此 SCRUM 非常適用於產品開發專案。SCRUM 開發流程通常以 30 天為一個階段,由客戶提供新產品的需求規格開始,開發團隊與客戶於每一個階段開始時挑選該完成的規格部份,開發團隊必須盡力於 30 天後交付成果,團隊每天用 15 分鐘開會檢視每個成員的進度與計畫,了解所遭遇的困難並設法排除。SCRUM 與傳統開發流程及專案管理差異較大,於導入時最好有顧問協助。以上言論轉述自               Microsoft .NET 技術代言人專欄:                  敏捷的軟體開發流程               作者:林耀珍———————————————————————–很不錯的概念 , 不知道Borland那些高手們會如何去實現呢?? 另外,在BDN又看到關於PDA程式開發的成果Preview….WinCE的DataExplorer …..感覺很不錯!! 加油了!!原本在BDN看到一個BDS2006的PlugIn >> Compack Framework Compiler Helper ….覺得很不錯 , 雖然沒有Source Code不過感覺起來就很棒(因為官方還尚未支援 Compack Framework的開發) 不過卻不怎麼實用….而且造成的問題也多…. 所以放棄使用了!!另外,關於CF的Assembly部分,C:\Program Files\Borland\BDS\4.0\lib\cf底下似乎只有*.dcuil的檔案…..不知道是否能取得*.pas ?非常期待李維老師的ECO大作 , 現在小弟已經養成每隔2-3天必上一次BDN與李維老師部落格的習慣了…….真是身不由己啊….!!

  23. #23 by camel on 2006 年 04 月 10 日 - 15:42:26

        今天看了一下李先生的Blog. 也是第一次看.这几天VC2005和BDS都安装和使用了一下, 个人对现在的VC2005和BDS都很不满意.
     
        我想目前还是用BCB6.0工作为好, 既可以做低层开发,也可以做应用层.做低层、高性能服务开发任何工具都一样VC和BCB没有多大区别,区别在C++ complier,在Intel CPU下当然Intel的最好.
     
       一般应用层VC就不如BCB了,MFC的设计落后于VCL..Net是吸收了VCL的设计,但成了平台程序要被托管,不是native了,在VC下不想托管就还是MFC,很不好用!
         用BCB的人应该不会用它来做.net,但却被集成到BDS中,要安装一些.net的东西才可以安装. 个人认为是没有必要的. 
       可能不会再有向BCB6.0一样的native C++开发工具了. 遗憾!!!

  24. #24 by on 2006 年 04 月 11 日 - 02:15:25

    >可能不会再有向BCB6.0一样的native C++开发工具了. 遗憾!!!
     
    Borland的Roadmap說明了會開發native 64 bit的BCB, 不過仍然是在BDS之中, BDS雖然要安装一些.net的东西才可以安装, 但是BDS也帶來了許多新功能,未來Togehter會有ForC/C++, BDS會為C/C++加入更多的Refactoring, TDD For C/C++, 新版的VCL, 這些新的功能加入BDS的好處是BCB可以和Delphi/C#一樣都擁有最新的技術, 這對於BCB的使用者來說應該是好的.

  25. #25 by Josh on 2006 年 04 月 11 日 - 02:33:31

    –>可能不会再有向BCB6.0一样的native C++开发工具了. 遗憾!!!這句話應該是未來微軟C++開發工具的寫照吧??

  26. #26 by lu on 2006 年 04 月 11 日 - 02:43:29

    其实,将Delphi和BCB合并到一起是好事啊,作为老Delphi Funs,事实上确实有一些工作在C++来开发更方便,以前BCB和Delphi的分离,造成了BCB和Delphi之间采用的是不同版本的BPL,以至于Delphi和BCB之间很难用BPL方式共享资源,如今将其组合到一起以后,BPL基础库保持同步了,Delphi和BPL就可以通过BPL共享代码,共享开发环境了,于Borland来讲,维护一个统一的IDE开发平台更简单,于用户来讲,C++的资源和Delphi的资源更容易实现共享,确实是一大进步,只是这一天来得稍微晚了点,给别人看来,是学习VS而已.
    我觉得,Borland应该再进一步,让Delphi,BCB之间BPL的控件资源共享做得更好点,即Delphi For W32和BCB中安装的控件可以更好的互访,因为,BCB中的Bpi文件确实有点让人尴尬.
    还有,Delphi For W32和WinForm .net之间能更好的互访,而不是搞个VCL.net来,这样BDS既可以开发W32程序也可以开发.net程序,同时能.net资源和W32资源,优势才显得更大更强.
    在微软的夹缝中生存不容易啊,没有比他强的决活,是没法生存的.
    Borland应该让让微软知道,孤注一掷的.net做法是错误的,Borland可以让.net和W32资源得到最大化共享,这就是决活,这样才能吸引更多的人使用BDS.

  27. #27 by lu on 2006 年 04 月 11 日 - 02:53:20

    换句话说,Borland应该做到,在BDS上,不管使用W32还是.net
    ,他们之间应该,我们可以任意选用各自优势区域开发产品的部件,
    然后在BDS上整合到一起,Delphi在W32上是成功的,与其跟在微软
    屁股后面开发.net不如另辟溪径,把二者的优势完全结合在一起.
     

  28. #28 by Garfield on 2006 年 04 月 12 日 - 06:43:26

    ECO是最值得期待的,李老师终于有时间来考虑了。dbExpress的书有了一本,升级到2006看以还也不错!
    期待ing……..
     
     

  29. #29 by B on 2006 年 04 月 12 日 - 08:25:17

    How about Kylix…
    It has been moved to "Classic Product" in the Borland website…
    How about it’s future… (If it still has future…)

  30. #30 by wise on 2006 年 04 月 12 日 - 12:05:36

    现在还没想通为啥要整个.NET,但不得不知道,现在的WIN32 EXE不知道会在WINDOWS的那个版不会支持了,,
     
    也许有一天,非.NET的WIN32程序都不能在.NET上使了,,

  31. #31 by 豆腐 on 2006 年 04 月 12 日 - 16:37:05

    我來抱怨一下BDS2006的幫助系統吧,隨便查個函數或者對象事件,看一看,連參數表都沒有,這種提綱式的幫助系統是在無用,建議李老師能順手出本書來,俺們就不用D10,D7一起裝了。

  32. #32 by shengyong on 2006 年 04 月 13 日 - 02:06:05

    个人觉得Delphi目前的发展方向有点杂乱,多增加一些高级功能固然好,但我觉得一些基本的功能依然是最重要的,比如Delphi目前是否应该多向Java学习一些东西,在如下几个方面发展好一些呢:
    1、增加对于泛型的支持;
    2、丰富基础VCL类库,可以参考JDK的类库;
    3、增加异常处理的功能,最好是能够打印详细的异常栈。
     
    MDA这类技术固然好,但对于有自己的应用架构的软件公司
    来说似乎用处不大。
     
    真心的希望Delphi能够继续走好,毕竟Delphi是Borland的灵魂,也是Fans的生命之所系。
     
    如果Delphi能够发展好的话,将来的前途应该不会比Java差,至少会比Visual Studio好。

  33. #33 by shengyong on 2006 年 04 月 13 日 - 02:14:32

    补充一点:和其它的开发工具比较,Delphi在开发GUI程序方面具有绝对的优势,所以Delphi最好是继续发挥这方面的优势,加强GUI方面的特征建设。毕竟对于多数软件来说,UI其实是比后台更加重要的。

  34. #34 by Unknown on 2006 年 04 月 13 日 - 02:47:51

    李维老师:
    您好,
    这是我在delphi 2006 设计期遇到的麻烦,可以指点一下吗?
    环境:delphi 2006 ,winform application ,设计期,窗体有时能打开,有时无法打开。
    谢谢
    An error occured while loading the document. Fix the error, and then try loading the document again. The error message follows:
    The designer can not be shown because deserialization threw an exception: Object reference not set to an instance of an object.

  35. #35 by on 2006 年 04 月 14 日 - 04:22:05

    >关心李老师ECO和GP的计划,想学习使用ECO,想了解Delphi怎样实现GP?
     
    ECO的計劃當然是想辦法弄出一本ECO的書,但是要寫好ECO的書需要花很多的時間,這也是為什麼國外那本ECO的書進度如此的緩慢,至於GP則是Delphi 2007最重要的功能之一,當時左輕侯寫Thinking In Delphi時我希望他能夠把這些都寫出來,我就可以做其他的工作,但是TID現在大概也石沈大海了, 我一個人是無法做這麼多的事,這些知識可以很快的學在腦袋中,但是要寫出來那不是那麼容易了,也許等DevCo開發運作之後會比較清楚我有什麼資源可以運用.

  36. #36 by on 2006 年 04 月 14 日 - 04:28:49

    >1、增加对于泛型的支持;
     
    Delphi 2007,目前Syntax已大概完成,在實作Compiler中
     
    >2、丰富基础VCL类库,可以参考JDK的类库;
     
    VCL仍然不斷的增加功能中,BDS 2006的VCL又有了許多的元件/功能,VCL For 64, Unicode, VCL For CF都在開發中
     
    >3、增加异常处理的功能,最好是能够打印详细的异常栈。
     
    這我不確定,許多Third-Party元件都做的很好,豐富的Third-Party元件也是Delphi最大的優勢之一
     
    >MDA这类技术固然好,但对于有自己的应用架构的软件公司
    来说似乎用处不大。
     
    這不一定,而且IT人員學習/瞭解一些重要的SE並且擇其合適的使用是很重要的. 也許不一定要使用MDA/DDA, 但是MDA/DDA延伸出來的技術卻愈來愈重要,例如我認為OCL/Action Language就很重要, IT的人應該好好學習一下. 等下一步MDA/DDA能夠再結合TDD, 那我個人認為這就非常強大而且吸引人了.

  37. #37 by on 2006 年 04 月 14 日 - 04:30:51

    >
    李维老师:
    您好,
    这是我在delphi 2006 设计期遇到的麻烦,可以指点一下吗?
    环境:delphi 2006 ,winform application ,设计期,窗体有时能打开,有时无法打开。
    谢谢
     
    這可能是你的項目中有過時的dcpil,你可以先把所有的dcpil刪除,再重新Build一次. 第2個可能是你的系統中是不是有BDS 2006的Beta package? 你要查一下, 另外你是使用BDS 2006的Update 1之後的版本嗎?

  38. #38 by on 2006 年 04 月 14 日 - 04:32:51

    >
    我來抱怨一下BDS2006的幫助系統吧,隨便查個函數或者對象事件,看一看,連參數表都沒有,這種提綱式的幫助系統是在無用,建議李老師能順手出本書來,俺們就不用D10,D7一起裝了。
     
    !@#$%^^&*,  是啊,我有同感,有時得回去看Delphi 7的手冊,DevCo已經知道這事,我說了DevCo會改變Borland做不好的許多事情,手冊就是一項.

  39. #39 by 0v0 on 2006 年 04 月 14 日 - 04:46:44

    祝復活節快樂!

  40. #40 by bjzhq on 2006 年 04 月 14 日 - 04:48:56

    >VCL仍然不斷的增加功能中,BDS 2006的VCL又有了許多的元件/功能,VCL For 64, Unicode, VCL For CF都在開發中
     
    非常高兴能在delphi2007中开发 CF 程序

  41. #41 by lzf1010 on 2006 年 04 月 14 日 - 05:49:15

    to 李老师:正在准备开发一个B/S系统,该系统需要长期维护与升级,目前打算从asp.net和intraweb这两种技术中二择其一,还没确定采用哪一个来开发,特别想征求一下您的意见。最好能简要说明一下原因。谢谢!

  42. #42 by Josh on 2006 年 04 月 15 日 - 08:17:54

    To 李維老師:                      關於CF程式的開發,小弟已經在BDS2006中製作了一個Compile .Net 程式架構到 CF 的輔助套件(可以把Window Form的程式透過該工具Compile 成為CF程式….)不過也發現了幾個問題1.在Project.Dpr中的 {$R ‘WindowForm.TWindowForm.Resource’ ‘WindowForm.Resx’}  <–這一行再連結時會發生"WindowForm.TWindowForm.Resource" 檔案找不到的狀況!!2.因為原有的 ..BDS\4.0\lib\cf 資料夾中的沒有*.pas的源碼…不知道Borland 是否能開放給有意開發的開發商呢?目前小弟已經開始用BDS2006寫CF的程式了……..

  43. #43 by wise on 2006 年 04 月 16 日 - 02:29:16

    现在急迫需要UPDATE2 ,Unicode支持,
     
    完美的支持Unicode不知道要到何时?????到那个时间,处理简繁就没那么麻烦了,,,

  44. #44 by wise on 2006 年 04 月 16 日 - 02:58:15

    坏消息:http://www.falafel.com/News/tabid/54/ctl/ViewPressRelease/mid/429/PressReleaseID/12/ReturnTab/36/Default.aspx
    Ramesh Theivendran走了。。。
    好消息:http://blogs.borland.com/abauer/archive/2006/04/11/24333.aspx
    Steve Shaughnessy回来了。。。
     

  45. #45 by bjzhq on 2006 年 04 月 17 日 - 05:38:46

    李大师, 我在使用delphi2006for win32时, 主程序动态调用一个dll的窗体(form)时, 正常显示, 但是当关闭并释放 dll 窗体时, 主窗体隐藏到其他程序后面了(需要同时运行多个程序), 无论使用 alt+tab 或是点击任务栏中的该程序的图标, 都不能使主窗体显示, 只好kill it.
    注: 调用时, 传递了 Application.mainform.handle,
         在 dll 中, 有:
           Application.Handle:= AMainFormHandle;
      操作系统是 WinXP SP2
     
    目前解决方法是:
      在调用 Dll 的窗体后, 加上以下几句, 才行, 但是太麻烦, 并且有晃动的感觉.
      Application.MainForm.Hide;

      Application.MainForm.Show;
      Self.Hide;
      Self.Show;
     

  46. #46 by ?佳 on 2006 年 04 月 27 日 - 07:22:36

    非常期待ECO的書, 但是對於ECO的應用有個很想問的問題:
    使用 [Wrap Existing Database with Eco] 生成現有資料庫的model,
    再對model做些操作後, 還可以維持原資料庫的schemas嗎? (原資料庫只允許加新table)
    我想對舊有的server級程式增加新web功能, 但原程式必須仍能正常運作;
    目前知道會用到OldMappingProvider與RunTimeMappingProvider,
    而且RunTimeMappingProvider的xml還得手動修改,
    只是目前尚未找到較詳細的資料,
    請問這在ECO3中是可能的嗎? 如何修改呢?
     
    由ECO model生成的table都有ECO_ID(主鍵)與ECO_TYPE欄位,
    是破壞原資料庫schemas的主因嗎?

回覆給shengyong 取消回覆