Borland批评

laozhongcheng 2001-09-03 12:58:01
真的很不想批评Borland,但是不得不批评一下。

Delphi6的界面设计真是差到没话说!不是指它本身的界面,而是指它的VCL和CLX。

我承认,VCL是很不错,大大简化了操作。可是Delphi5之前,Delphi的最小化问题一直存在。因为任务栏上面的程序按钮(好别扭的叫法)和窗体并无任何直接关系!任务栏上面的程序按钮是基于TApplication的,所以,VCL程序最小化时不像普通Win32的程序有个动态过程,而是一下子就不见了。真是搞得人莫名其妙!这还不是个大问题。比较麻烦的是,VCL程序的任务栏上的右键弹出菜单更是只有还原、最小化和关闭三项。还是因为上面那个原因。可是,软件设计中很重要的一点就是不要改变用户已经习惯了的通用的软件界面,Borland这样使得用户必须适应这种界面,造成用户的不便,对软件产生不好的影响。

而新出的CLX更加让人没话说,本来编译成功后,看到程序在任务栏上的右键弹出菜单完全符合Windows标准,还以为Borland下功夫在CLX上改进了这些问题,但是,新的问题又来了——在MDI窗口下,子窗口最大化、最小化是也是咻的一下就完成了。毫无动画过程!真呆板!真奇怪!Borland能不能在这些小地方下下功夫?为什么MFC就没有这些缺点呢?

还有,Borland一个很失策的地方,不加入一个Resource Editor(光盘中附带的Resource Workshop太老了),如果想开发Win32 API程序的话,怎么办?Borland C++ 5.02软件版本资源对中文支持可是有问题的。(不知现在有patch了没有)

还有,为什么不支持MS的库文件,至少不用麻烦我们将VC的库和Borland的库转来转去。

最后,拜托帮助文件改成HTML文件吧。
...全文
190 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
Could 2001-09-25
  • 打赏
  • 举报
回复
up~
guipei 2001-09-25
  • 打赏
  • 举报
回复
我这里的正常。
laozhongcheng 2001-09-25
  • 打赏
  • 举报
回复
to Jiker:
看一下程序员 第6期吧。
也许我抄的时候抄错了。
在专家答疑里边。
liaokuo 2001-09-17
  • 打赏
  • 举报
回复
我的delphi 5 + pack 2
没有这问题,delphi 4没有最小化动画
哈哈,D6也有这毛病?
DD88 2001-09-17
  • 打赏
  • 举报
回复
up
水之手 2001-09-17
  • 打赏
  • 举报
回复
主要不是要动画,是要正常的Windows.
水之手 2001-09-16
  • 打赏
  • 举报
回复
我也是试了的,不会乱说。而且直接分析我认为你的方法虽然隐藏了主窗体,但没有隐藏Application的任务条按钮,而就是这个按钮有问题。
laozhongcheng 2001-09-16
  • 打赏
  • 举报
回复
不会吧。
我试了没问题。
水之手 2001-09-16
  • 打赏
  • 举报
回复
laozhongcheng:
你说的方法没有什么特殊效果呀。
我做了一个真正完美的方法,感觉不到有Application,大家可以试试:

主程序中:
Application.Initialize;
Form1:=TForm1.Create(Application);//修改工程属性,将自动创建去掉。
Application.Run;
Form1.ShowModal;

在窗体中:
procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowLong(Application.Handle, GWL_EXSTYLE, GetWindowLong(Application.Handle, GWL_EXSTYLE) or not WS_EX_APPWINDOW);
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_APPWINDOW);
end;
laozhongcheng 2001-09-08
  • 打赏
  • 举报
回复
上面的程序谁有办法改成BCB版吗?
laozhongcheng 2001-09-08
  • 打赏
  • 举报
回复
to Jiker:
程序员 第6期上有
1.新建Application
2.新建Unit, 命名为RunFirst.pas
其中在implement后面,加入
initialization
islibrary := true;
3.在工程源文件里,在uses最前面,加入
'RunFirst' in RunFirst.pas

form, 前面

var
Form : TForm

在实现部分
Application.Initialize;
Application.ShowMainForm := False;
islibrary := true;
Application.CreateForm ( TForm, Form);
Form1 := TForm1.Create ( Application);
Form1.Show
Application.Run
在Form1的OnClose事件中,加入
Application.Ternamite
水之手 2001-09-06
  • 打赏
  • 举报
回复
说说为什么TApplication要这样设计吧,确实不太习惯,想在任务条上多显示几个窗体按钮都不行。
这难道是Borland推行的一种新的程序构架思想吗?

laozhongcheng(成成):
把解决VCL最小化问题最好的方法公布一下好吗?
xd_g 2001-09-06
  • 打赏
  • 举报
回复
像Delphih或BCB这样的对Application进行此种封装的开发工具非常多,比如linux上著名的qt,这代表了软件开发业界的一种代表思路,不仅仅是borland这样做。
另外,回答jiker的问题:想在任务条上显示其他窗口需要重载那个窗口的createparam方法,为它的风格添加一个参数,这个参数好像是app什么的,可以在win32 sdk的createwindow主题中找到这个风格,把它或(or)到此窗口的原有风格中就没有问题了。
其实VCL是一个大宝库,只要你有时间,就应当去trace它。
laozhongcheng 2001-09-05
  • 打赏
  • 举报
回复
为什么MFC没有类似的缺点?有缺点为什么不改进?
用户的需求第一。
难道责备用户无理取闹?

如果谁能帮我解决 http://www.csdn.net/expert/TopicView.asp?id=160663
这个问题,不胜感激!
gaoql 2001-09-05
  • 打赏
  • 举报
回复
TApplication这样的设计是有原因的!!!!
不要不懂就乱批评!
laozhongcheng 2001-09-05
  • 打赏
  • 举报
回复
to aiirii:
我不是因为解决不了才来贴这一份帖子,而是因为Borland对有些问题实在不够重视,既然可以很容易就解决掉的问题,为什么让我们来操心呢?应该让我们更加注重程序本身的开发,而不是为这些伤脑筋。这不是RAD所推崇的吗?

其实,程序最小化问题最重要是体现在DirectX程序的开发上,DirectX程序最小化时,会在屏幕上留下一个title bar,然后才消失(Delphi5和BCB5以上),非常不好看。如果用户在未消失前点了那个title bar的话,程序又会恢复。
laozhongcheng 2001-09-05
  • 打赏
  • 举报
回复
迄今为止,我看到的解决VCL最小化问题最好的方法在《程序员》上刊登过。简直天衣无缝!因为TApplication对象被隐藏掉了,任务栏上的按钮时TForm的。所以,跟普通的Windows程序没什么区别。可是那个程序是Pascal的,只能用在Delphi,谁能帮我改一改,将其改成用在BCB下。不胜感激。我的问题在这个链接下,多谢。
http://www.csdn.net/expert/TopicView.asp?id=160663
aiirii 2001-09-04
  • 打赏
  • 举报
回复
你想最小化有动画效果,可以自己编程实现,倒不是很难,可以问我!菜单也是可以解决的,但我以前倒没想到这个问题,其实,你在窗体的属性中,应该可以设置出现的菜单项的。再还有,是ms利用自己掌握操作系统,不让其它公司直接使用它的库文件,如果能够直接将VC与delphi转来转去,那要么delphi变成C++了,要么VC变成pascal了。
有时候啊,有难题解决不了,要多想想办法,不要自己不会就怪别人不行,想一想自己的通用问题吧!
但我在用时,倒是发现,从delphix.x到delphi6,一直都有个问题,如果,你将A FORM设成MDI MAIN,B FORM设成MDI CHILD,然后,两个再改回normal,那么,显示会不正常,一运行,两个窗体都出来拉!
laozhongcheng 2001-09-03
  • 打赏
  • 举报
回复
回Nicrosoft:
我知道,通过查进程的消息就可以知道啦。可是我觉得好没有必要。
或者为什么不将MainForm绑定到TApplication上。
chenbin 2001-09-03
  • 打赏
  • 举报
回复
帮助文件确实是个问题。
加载更多回复(1)
Delphi 6是一个功能强大且高效的快速应用程序开发工具,它可协助您快速且容易地开发各种新一代的电子商务应用系统。Delphi的BizSnap运用Web Service技术轻松地整合企业与企业(B2B Business to Business)之间的信息交换。MSnap则运用新式软件组件的技术简化网反应用程序的开发复杂度。Datasnap则是整合各种数据访问的技术以简化多层分布式数据库应用系统的构建。从Delphi1.0到Delphi6.0,Borland公司在每一个版本皆尽了最大的努力来加强Delphi的功能。正因为如此,所以软件工程师可以轻松地使用Delphi撰写各式各样的应用程序,无论是文件管理、Client/Server或Multi-Tier数据库应用程序、因特网应用程序,甚或是企业间的跨平台的应用程序皆难不倒它。 面对 Delphi 6这么完整的功能,如何决定本书的章节内容,真是难倒作者。经过几番思索及综合多位读者的意见后,最后决定了本书所显示的内容。至于不足的部分作者会以专门的书籍来讨论数据库及其他高级的内容。本书的重点将着重于基础Object Pascal程序撰写的技巧、Delphi程序结构的彻底认识、各种VCL组件的应用、各种文件类型的高级处理、各种不同的数据库应用程序、Client/Server数据库应用程序及其他Object Pascal提高部分的应用,例如:多线程的程序撰写与Delphi VCL组件的制作。除此之外,作者另外以四个附录章节来讨论 Object Pascal与Delphi所提供的各种内置函数,希望通过Object Pascal的认识与Delphi内置函数的应用可以提高您程序开发的效率。 本书由第三波资讯股份有限公司提供版权,经中国铁道出版社计算机图书项目中心审选,王占清、李之明、李自运、崔仙翠、敖省林、陈兰芳等同志完成了本书的整稿及编排工作。 最后,希望本书可以协助您打开面向对象程序设计的大门,如果您讨本书有任何的批评与指教,欢迎E-mail至carosl@ms22.hinet.net。
精通Delphi数据库设计与实例开发配套光盘很难找到的光盘。 图书简介: Delplli是Borland公司推出的可视化开发工具,它拥有世界上最快的编译器,并提供了丰富的组件集、强大的代码自动生成功能和丰富的数据库管理工具等,使用它的集成开发环境,编程人员可以更快地建立应用程序。"真正的程序员用C(语言),聪明的程序员用DeIphi(语言)--这句话是对Delphi最经典、最实在的描述。和VC相比,Delphi更简单、更易于掌握.在能上却丝毫不逊色:和VB相比,Del phi则功能更强大,更实用。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点,因此成为了无数程序员挚爱的编程工具。 开发数据库应用系统是一项复杂的工程,而在众多的编程工具中,Delphi在数据库方面的特长尤为突出:它适应于多种数据库结构,包括从客户/服务器模式到多层数据结构模式;具有高效率的数据库管理系统和新一代更先进的数据库引擎提供了最新的数据分析手段大量的企业组件。因此,使用Delphi开发数据库系统可以大大减轻程序员的工作量,缩短系统的开发周期。 本书系统而全面地讲解了使用Delpt"1i开发数据库应用程序的方法,包括Delphi的快速入门、Object PascaI的语法基础、基本组件的使用方法、数据库基础知识、数据库环境设置、连接数据库的方法、使用BDE和ADO等组件进行各种数据操作的方法、数据控制组件的使用方法、报表和图表的设计方法、存储过程和触发器的使用方法、建立多层分布式数据库应用程序的方法,以及设计Web数据库程序的方法。值得一提的是,在第1 4章~第1 7章中详细展示了超市管理系统、贸易管理系统、影碟租赁系统和酒店管理系统4个数据库应用案例的开发过程。这些案例功能完整、界面简洁,并且具有很高的实用价值,稍加改动即可直接应用于实际的工作环境中。这些综合案例的讲解并非仅仅介绍相关程序构造、搭建过程,而是与前面的基础知识综合贯穿起来,将理论知识与实际操作完美结合,强化读者的学习效果。最后,本书还介绍了使用install shield发布数据库应用程序的方法。 本书循序渐进、由浅入深、系统全面地讲解了使用Delphi开发数据库应用程序的各种方法和技巧,在其中的关键知识点上均列举了针对性很强的小程序来进行讲解,方便读者进行学习。对于Delpl"1i的初级用户,通过本书的学习可以轻松理解Delphi数据库相关的基础知识,以及快速掌握使用Delphi开发数据库应用程序的方法;而对于Delphi的中级用户,本书那些较为详尽且具有较强实用性和针对性的开发数据库系统的关键技术和技巧,也能够为这一层次的读者提供解决实际问题的思路与方案。 同时,本书配套光盘中提供了书中全部应用实例的效果文件及源程序代码。相信通过对 操作步骤的详细讲解和典型案例的系统分析,能够帮助读者融会贯通Delphi数据库开发的各种方法和技巧,从而开发出真正适合企业应用的数据库系统。 本书适合于Delphi的初中级读者,也可作为广大Delphi程序爱好者、相关从业技术人 或高等院校相关专业师生教学的参考用书。 由于本书作者水平有限,书中不足之处在所难免,敬请广大读者批评指正。

828

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧