下,我们在网上看 到有些人极言 Delphi 的不稳定,说几分钟出现 20 多次非法操作。Delphi 的确不如 Visual C++稳定, 但也不至于如此呀。 我估计是那位朋友的 Delphi 装了某些有问题的第三方控件, 导致了 Delphi 的频频出错。不妨卸下那些控件试试? 可移植性:立足现实,放眼未来 Inprise 正在开发 Delphi 的 Linux 版本
,代号为 Kylix。也许通过 Kylix,用 VCL 构架编 写的 Windows 程序向 Linux 移植成为可能。但这只是可能。因为在目前 Inprise 的兼容性
工作做得并不好。低版本的 Delphi 不能使用高版本的 VCL 组件,而高版本的 Delphi 竟然 不能使用低版本的 VCL 组件。真是岂有此理,我们很少看见
软件有不向下二进制兼容的。 如果 Windows 98 不能运行 95 的
程序,Windows 95 不能运行 3.x 的程序,Win 3.x 不能 运行 DOS 程序,你还会用 Windows 吗?如果 Windows 95 的程序必须经过重新编译才能 在 98 下运行, 会卖得那么好吗?"同门兄弟"C++Builder 和 Delphi 也不能互相使用对方 98 的组件,甚至同一套 VCL 库的文件名也不一样。所以一个组件有 for D1/D2/D3/D4/D5/C1/C3/C4/C5 这些不同版本是常有的事, 而且随着 Delphi 和 C++Builder 版本的升级可能还会增加。 希望 Inprise 能先解决同门兄弟的兼容性问题。 而微软的 VC 就 没有这类问题。MFC1.0 的程序也可以毫无障碍地在 VC6.0 下编译通过。 集成界面:宏观与微观 就大处说,VC 的集成界面是不如
Delphi 的。Delphi 仅仅一个 Object Inspector 就可以 将 VC 的一堆 Wizards 比下去,何况它还有 Code Explorer、ToDo List 等。但从小处,又 可以看出 Delphi 的不成熟。比如"自动完成"功能的智能化程度和提示详细程度不如 VC, 响应速度也没有 VC 快。
Visual C++所带的 MSDN 是一部"开发者的百科全书",信息庞大,
查询方便,这方面比 Delphi 更专业。很多帮助项都有源程序示范。 Delphi 的 OpenTools 是完全面向第三方的开放系统, 开发者可以修改很多 Borland 公司 自身的功能,从 IDE 的可扩充性上说 Delphi 更好。 调试:细微之处见真功 Visual C++和 Delphi 的调试功能都非常强大,同时都具有单步可视化调试、断点跟踪、 运行时改变变量、 鼠标指向可以得到变量值等等功能。 DLL 的输入输出也能方便的管理, 对 能够进行源码级别的调试。 相对而言,Visual C++能够更加方便地看到变量的变化情况,这包括对结构可以展开成 数据树,从而了解每一个变量的值,每一步调试,变化了的变量会加红,从而使调试更加 方便。另外,Visual C++的块内存察看比 Delphi 也要方便。 当然,Delphi 也有很多体贴的细微之处,比如在线程调试的时候,Delphi 能够很方便地 察看线程的变化,Visual C++却必须要弹出一个模式对话框。 数据库开发:Delphi 一枝独秀 数据库支持是 Delphi 的强项。这主要体现在 Delphi 与 BDE 的无缝集成,以及 Delphi 提供的那一大堆现成的数据库操作控件。这是 VC 望尘莫及的。目前 Delphi 支持 BDE、 ADO、InterBase 三种数据库访问方式。所有的方式都能拖拉到应用程序中实现可视化操 作。 正是因
为 Delphi 对数据库类的包装, 使得用户操作数据库不像在 Visual C++中必须从 开始到最后都要干预。明显地提高了开发速度。 Delphi 中使用 WebBroker 控件还能很方便地构造出基于数据库的 Web 页面, 通过
HTML 管理 Web 数据库。 Visual C++访问数据主要通过 ADO 和 OLEDB,很多 ActiveX 控件也 能添加数据库功能。但是没有像 Paradox 这样的桌面数据库,Access 相对功能太弱了。 也许 SQL Server 是不错的选择。 COM:新技术的力量 COM 是组件对象模型的缩写。 它是 OLE 和 ActiveX 技术的基础, COM 定义了一组 API 和一个二进制标准,让不同的编程语言、不同平台的彼此独立的对象相互进行通讯。 COM 是 Microsoft 制订的行业标准。但 Delphi 也为 COM 提供了强大的语言支