VISUAL C++,DELPHI,C++Build

boneheat 2000-08-18 05:04:00
我认为讨论一下VISUAL C++和DELPHI是很有必要的,两种平台同样是世界上最优秀的平台,VISUAL C++在目前来讲,功能要比DELPHI强大,主要是因为DELPHI5.0的原装文件中,缺乏大量的VISUAL C++原本应该包括的大量的头文件,使得大量底层WINDOWS资源不能访问(例如DELPHI中的MAPI.PAS就缺乏关于MAPIX方面的说明,使得有关MAPIX的程序如ExchangeServer高级编程不能使用DELPHI,除非你在网上下载到相关的.PAS文件),但是,我听说,在网站上已有很多第三方提供了这些能实现底层资源访问控制的适合于DELPHI用的.PAS文件,如果真能下载装配完这些文件,我想DEIPHI的功能将大大加强。另外,DELPHI在多线程编程时,其同步的类型使用较少(主要是Windows核心对象如关键体,互斥体,信号灯等未在VCL库中封装成TMUTE等类,而是统一用一个自己的同步函数),程式编制不灵活,其用户界面线程功能较弱,但是,DELPHI提供了大量比VISUAL C++多得多的可用的现成资源,特别是在数据库编程方面,VISUAL C++是万万比不上的。在代码封装重用方面,DELPHI提供的开放式组件功能也比VISUAL C++强得多,且DELPHI入门简单,易学,在一般应用的开发速度远远高于VISUAL C++,另外,DELPHI的VCL库直接与COM为基础,这是未来软件设计的趋势,比Visual C++的MFC的层次要高。然而DELPHI程序员编程水平提高较难,只因VCL的封装较为高档,离WINDOWS底层较远,在某些SDK编程方面DELPHI因缺乏可用的.PAS文件而不能深入编程。VISUAL C++是目前功能最强大的开发平台,其在WINDOWS上几乎可以作任何工作,然而VISUAL C++入门极其困难,它的入门与其说是在学一种语言,不如说是在了解WINDOWS工作的核心,不了解WINDOWS的工作核心,根本谈不上用VISUAL C++的编程。从工程的角度上来讲,因MFC的封装远远比不上DELPHI的VCL库,所以VISUAL C++是一种吃力不讨好的工具,开发工作量繁重;从编程技巧上来讲,VISUAL C++到确实是一种万能的工具。当然,如你有充分的时间和精力的话,也可以用VISUAL C++写出大型的精良的系统。从应用软件的体积上来看,VISUAL C++的应用程序确实要比DELPHI同样的应用程序小很多,DELPHI应用程序的“臃肿”名不虚传。其实,这两中平台中间有一个折中平台,那就C++ Builder,它不仅拥有VISUAL C++的全部头文件,还有DELPHI的全部资源文件,整个平台程序开发迅速,也有能力完全访问WINDOWS核心,与各类SDK接口完整,程序质量可高可底。然而,C++ Builder也有其缺陷,第一个同样是和DELPHI同样存在的线程问题;第二个是C++ Builder编译速度奇慢,对开发员使用的机器要求很高(建议开发机CPU至少应为P3以上,内存128M以上)抬高了开发成本;其实,对于程序开发员来讲,仅考虑使用一种开发平台显然是不够的,对于有基础的程序员来说,只要你对WINDOWS核心有一定了解的话,使用何种开发平台、何种语言并不非常重要,因为开发平台和开发语言只是一种基础工具,关键是开发工程的实质是什么,开发成本有多少,开发时间有多长,不必要局限于某一种特定的开发平台和语言。我个人推荐,平常的应用用C++Builder,难度攻关用Visual C++,攻关成功后,可将代码转换给C++Builder使用。当然DELPHI也不能放弃,深入DELPHI的VCL源代码有助于将你的C++Builder应用的用户界面等涉及到开发平台本身的一些技巧得到提高。此仅为个人观点,望各位大虾指正。我认为讨论一下VISUAL C++和DELPHI是很有必要的,两种平台同样是世界上最优秀的平台,VISUAL C++在目前来讲,功能要比DELPHI强大,主要是因为DELPHI5.0的原装文件中,缺乏大量的VISUAL C++原本应该包括的大量的头文件,使得大量底层WINDOWS资源不能访问(例如DELPHI中的MAPI.PAS就缺乏关于MAPIX方面的说明,使得有关MAPIX的程序如ExchangeServer高级编程不能使用DELPHI,除非你在网上下载到相关的.PAS文件),但是,我听说,在网站上已有很多第三方提供了这些能实现底层资源访问控制的适合于DELPHI用的.PAS文件,如果真能下载装配完这些文件,我想DEIPHI的功能将大大加强。另外,DELPHI在多线程编程时,其同步的类型使用较少(主要是Windows核心对象如关键体,互斥体,信号灯等未在VCL库中封装成TMUTE等类,而是统一用一个自己的同步函数),程式编制不灵活,其用户界面线程功能较弱,但是,DELPHI提供了大量比VISUAL C++多得多的可用的现成资源,特别是在数据库编程方面,VISUAL C++是万万比不上的。在代码封装重用方面,DELPHI提供的开放式组件功能也比VISUAL C++强得多,且DELPHI入门简单,易学,在一般应用的开发速度远远高于VISUAL C++,另外,DELPHI的VCL库直接与COM为基础,这是未来软件设计的趋势,比Visual C++的MFC的层次要高。然而DELPHI程序员编程水平提高较难,只因VCL的封装较为高档,离WINDOWS底层较远,在某些SDK编程方面DELPHI因缺乏可用的.PAS文件而不能深入编程。VISUAL C++是目前功能最强大的开发平台,其在WINDOWS上几乎可以作任何工作,然而VISUAL C++入门极其困难,它的入门与其说是在学一种语言,不如说是在了解WINDOWS工作的核心,不了解WINDOWS的工作核心,根本谈不上用VISUAL C++的编程。从工程的角度上来讲,因MFC的封装远远比不上DELPHI的VCL库,所以VISUAL C++是一种吃力不讨好的工具,开发工作量繁重;从编程技巧上来讲,VISUAL C++到确实是一种万能的工具。当然,如你有充分的时间和精力的话,也可以用VISUAL C++写出大型的精良的系统。从应用软件的体积上来看,VISUAL C++的应用程序确实要比DELPHI同样的应用程序小很多,DELPHI应用程序的“臃肿”名不虚传。其实,这两中平台中间有一个折中平台,那就C++ Builder,它不仅拥有VISUAL C++的全部头文件,还有DELPHI的全部资源文件,整个平台程序开发迅速,也有能力完全访问WINDOWS核心,与各类SDK接口完整,程序质量可高可底。然而,C++ Builder也有其缺陷,第一个同样是和DELPHI同样存在的线程问题;第二个是C++ Builder编译速度奇慢,对开发员使用的机器要求很高(建议开发机CPU至少应为P3以上,内存128M以上)抬高了开发成本;其实,对于程序开发员来讲,仅考虑使用一种开发平台显然是不够的,对于有基础的程序员来说,只要你对WINDOWS核心有一定了解的话,使用何种开发平台、何种语言并不非常重要,因为开发平台和开发语言只是一种基础工具,关键是开发工程的实质是什么,开发成本有多少,开发时间有多长,不必要局限于某一种特定的开发平台和语言。我个人推荐,平常的应用用C++Builder,难度攻关用Visual C++,攻关成功后,可将代码转换给C++Builder使用。当然DELPHI也不能放弃,深入DELPHI的VCL源代码有助于将你的C++Builder应用的用户界面等涉及到开发平台本身的一些技巧得到提高。此仅为个人观点,望各位大虾指正。
...全文
127 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kinghan 2000-08-19
  • 打赏
  • 举报
回复
你真是费心了!
其实Visual C++不是很难学,使用起来也还算方便。
Jujus 2000-08-18
  • 打赏
  • 举报
回复
讲的好!!!!!
一、IDE 1、对IDE的高DPI支持,涵盖了最新的4k+显示器,整个字体和图标更干净、更清晰。 2、多显示器和多窗口改进:在多个窗口中同时设计和编辑同一个表单的代码 3、完全重建的欢迎页,具有原生的外观和感觉,以及适合IDE的UI,并可自定义布局和内容 4、C++代码格式化器。使用clang-format自动布局你的C++代码 5、改进了对VCL和IDE的远程桌面支持 6、FireMonkey设计时指南。通过可视化的线条和增强的边距和填充支持更快地进行原型设计 二、VCL 1、丰富的编辑组件更新删除了XP的依赖性,并为TRichEdit控件引入了新的功能。 2、VCL样式增加了设计时支持:通过在设计时立即看到你的样式表格和控件在运行时的样子,使时尚的UI原型更快。 3、增加了对TreeViews中CheckBoxes的支持,每个节点都支持3种状态(部分、变暗、排除)以帮助定制UI。 4、新的TDBLabeledEdit组件提供了TLabelEdit的数据感知版本,以加快原型设计。 5、大量的VCL改进,包括默认的表格大小和字体,例外对话框的复制按钮,备忘录和RichEdit的边距等等。 三、FMX 1、改进了对Windows和桌面的FMX高DPI支持,桌面UI明显优越 2、在WebBrowser组件中支持微软的WebView 2控件(Edge Chromium)。 3、支持最新的Android 30 API和最新的计费API,并迁移到使用AndroidX库 4、Android支持多个classes.dex文件,简化了对外部Android依赖的整合 四、Platforms 1、Delphi macOS 64位ARM编译器和工具链,包括为Intel/Arm AppStore提交构建通用二进制文件 2、Delphi语言支持二进制小数和数字分离器 3、改进了C++工具链,对C++类型的RTTI进行了大修,包括在Delphi类型上使用typeid。 4、为Delphi类型改进了C++风格的RTTI 5、在Win32和Win64上改进了CMake的质量并大大改进了异常处理。 五、RTL 1、RTL质量重点。TZipFile、大数据结构的64位改进、蓝牙LE 2、System.DateUtils中TDateTime的记录帮助器 3、System.SysUtils中TCurrency的Record Helper使货币的工作更加简单和容易。 4、C++ RTL的改进包括在Delphi类中使用make_shared和make_unique,对Delphi字符串的string_view支持,以及Delphi/C++字符串的简单转换。 六、LSP 1、使用Visual Studio Code来编辑Delphi源代码,并具有完整的代码完成功能 2、LSP对Include文件的认识 3、自动重新启动LSP服务器 4、用Tab键自动完成代码 5、支持类辅助工具 6、赋值数组时的数组建议 七、Data 1、新版本中的FireDAC为PostgreSQL、Oracle和Firebird数据库提供了具体的改进。 2、HTTP和REST客户端库已经扩展了超时机制,支持HTTP/2、TLS 1.3、Base64 URL编码。 3、新组件TRESTRequestDataSetAdapter简化了向服务器上传数据集的过程 4、新的低流量RAD Server Lite允许无限制地部署您的多层解决方案,以及完全可扩展的Server引擎。 5、对于DataSnap,REST URL映射逻辑现在是完全可配置的
Introduction My desire to write a book about C++Builder has some history. I have beenvery impressed with Borland since their first edition of C++ (and prior editionsof C), because they have always made an effort to ensure quality. Unfortunately, there are very few books on the market about Borland C++or C++Builder, compared to other products like Visual Basic or VisualC++. Since different authors have different viewpoints of a product, I always prefer to consult more than one book to gain in-depth knowledge, as every author provides a unique service with his or her expertise. Also,authors are limited by their own onstraints; every book does not cover every aspect of the product. When I first used MIDAS a few years ago,there was not a book available to help me do my project. I spent a lot of time investigating answers for my questions in an iterative manner. I can say that my frustration over that prompted me to write this book on C++Builder. As with every release, C++Builder 6 is very rich with features. Best of all, you can build distributed objects in different technologies in the real RAD (rapid application development) way. To my knowledge, this is the only C++ implementation that enables you to build C++ applications on the fly, just as easy as with Delphi or Visual Basic. For programmers who are apprehensive of C++, I would recommend learning C++ using this product. I paid exclusive attention to three main subject areas of C++Builder 6:Windows application development, database development, and distributed systems development. Throughout the duration of this project, I attempted to make the book useful for every type of reader—a novice in C++Builder, a programmer experienced with the product, and those who already have books on prior editions of C++Builder. The entire book contains 12 chapters.Some chapters are relatively larger than we normally see in manybooks. To keep the flow of my thoughts continuous (which is very helpful for the reader), I did not want to break the chapters into smaller pieces. I divided the 12 chapters into two parts. The first part presents topics onWindows application development as well as database development. The second part is dedicated to distributed systems development and a few miscellaneous topics. Thus, I present more than 200+ pages on several distributed architectures, including DataSnap,WebBroker,WebSnap,BizSnap, CORBA, and TCP/IP. I also created a number of example projects,which you may directly compile on your computer, either for learning or for use in your own projects. Most of the source code for the examples is presented in the book and provided on the companion CD. However, you may need to have the Enterprise edition of C++Builder 6 to work on most of the second part of the book, since it covers advanced topics. For a couple of reasons, I did not present COM/ActiveX-related chapters in this book. The main reason is that almost all the available books on C++Builder present topics on COM-related technologies very well. In addition,Microsoft itself is drifting its focus away from COM-related technologies since they released the .NET framework, which would force many organizations to reduce the intensity of their COM-based application development. Slowly, many organizations will migrate their COM-based solutions to .NET or other distributed architectures.

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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