ps:想写此书的初衷是对自己多年来工作的一个阶段性总结 书籍暂定名: 
无 设想: 
我希望写一本这样的书:首先,它能够收集在使用Delphi进行程序设计时可能会碰到的一些 “陷阱”问题,并提供相应的方法帮助开发人员绕开这样的“陷阱”,使Delphi开发人员能够将更多的精力集中在对项目核心问题的研究上,而不是花很多的时间来解决这些已经被列入“黑名单的问题”。其次,此书中描述的问题均属于较高级的Tips,理解这些问题的前提是要求开发人员要对Delphi平台有较深层次的了解。因此我会在书中每一个章节的起初部分,写一篇关于Delphi内对此部分所描述的内容是如何实现的专题,这样不仅使读者能够更好的理解我所列出的问题,同时又能够对Delphi本身有更深一层次的理解。 
目前就我个人感觉,国内许多的Delphi开发人员过分依重于Delphi所提供的RAD功能,而对系统(Delphi&Windows)本身缺少了解,以至于无法写出高可靠性和高维护性的,也就使软件质量无法的得到基本的保证,同时也给自己水平的提高造成了一定的瓶颈(只会使用控件编程和对问题只知其然,不知其所以然的状态使它们很难将观察程序系统的眼光提高一个档次,也比较难使他们的水平有质的提高)。而环顾国内的Delphi书籍市场,这类介绍Delphi系统的书籍实在是太少,我所知道的只有一本就是电力社出版2001年出版的《Delphi技术手册》,这本书虽然我个人认为是十分的好,但是终究没有逃脱在china-pub.com上面被当作特价书出售的命运。究其原因,我感觉应该是这本书写的太过专业,而且不是基于某种实践描述问题。这种书籍对于对Delphi系统本身有一定了解的人自然是很好的参考书籍,但是对绝大多数Delphi程序员来说显的有些死板,阅读起来难度比较大。于是这也就引出了我撰写此书的另外一个初衷,我希望能以一种交流式的方式将一些基础,但是比较高级的Delphi原理级知识介绍给阅读本书的程序员,并结合实例,使它们知道不仅了原理,而且有机会在实践中应用这些原理。 目录: 一.编译器和编辑器 
请注意代码最终是否被链接器链入可执行文件(注1) 
请尽量使用build all方式编译程序 
清楚了解Delphi编译器选项 
不要忽视Delphi编译器给你的权力(注2) 
Delphi7编译器的回车换行符问题(注3) 
尽量不要在Tools/Environment Options/Library选项中包含自己的程序文件路径 
请注意Delphi7的VCL源代码当中的预编译标志 二.语言基础元素 
了解Integer类型和Cardinal类型的区别 
使用for循环时需要注意的问题 
使用Class类型 
使用方法数组 
使用untype参数 三.单元文件 
请务必在项目当中包含SysUtils.pas单元 
请注意单元的包含顺序 
请注意单元的初始化和结束化问题 
请不要在单元当中覆盖公有单元内的元素名称 四.对象的构造与析构 
专题:Delphi的面向对象程序设计模型 
专题:Delphi对象的构造与析构 
请在编写构造函数时调用基类的构造函数 
请注意在构造函数中抛出的异常 
请注意构造函数和析构函数的调用顺序 
请将基类的构造函数设置为virtual 
在适当的时候NewInstance方法创建对象 
请不要在析构函数当中抛出异常 
请不要创建名称非Create的构造函数 五.内存分配 
专题:Delphi内存分配原理 
请使用New/Dispose函数为记录指针分配内存 
请尽量避免直接使用GetMem和FreeMem函数分配释放内存 
请在编写动态链接库的时候将IsMultiThread变量的值设为True 
如果不是必须请不要重新定义内存管理器,尤其是在维护代码的时候 六.Windows编程 
专题:使用Delphi撰写动态链接库 
专题:Delphi对线程的封装 
专题:Delphi对COM的封装(可选) 
如果在动态链接库的代码中调用COM组件请手动添加CoInitialize和CoUninitialize函数 
请不要在一个程序当中对一个动态链接库执行多次LoadLibrary/FreeLibrary操作 
如何使automation方法返回的对象在asp当中被认为是empty object 
自定义消息注意事项 
不安全的日期类型转换?? 七.自动维护生存周期类型 
专题1:Delphi中的字符串处理 
专题2:Delphi中的接口 
String类型与PChar类型的兼容性 
Delphi接口的自维护引用计数问题 
(其余代定)(注5) 八.异常 
专题:Dephi的异常处理 
请在编码时有选择的拦截异常 
(其它待定)注5 十.编程实践 
拥有自己的编程风格 
使用XP的实践改良程序设计过程 
善用工具发现/解决问题 
使用Delphi开发大中型项目 附录:推荐阅读书籍 注1:有一些代码虽然编译器会编译它,但是不会将它链接入可执行文件内。这样可能会引发一些极难被发现的错误。 
注2:讲述Delphi编译器所提供的一些优化功能对程序的影响(比如整数计算溢出检查器,边界检查器等)。 
注3:讲述由于Delphi7编辑器对回车换行符的区分导致的可能出现的程序编译后错误代码定位不准等问题。 
注4:此章将给出样章 
注5:由于选择比较多,所以希望在实际写作时决定最终的编目。 Other:书中有一些篇目的虽然是很好的tips但是名字比较通俗,可能会些使用Delphi的老鸟产生厌烦的感觉(比如第四.对象的构造与析构中篇目的名称),关于此问题我一时有点拿不定主题如何解决.

解决方案 »

  1.   

    葵花宝典上的专栏是n年以前写的了,现在看起来那些文章都比较幼稚,我希望如果这本书真的写成的话,能让我不会再产生那种幼稚的感觉:->
      

  2.   

    大侠,你如果真能写出来,大家感谢你;现在我代表所有的Delphi开发者对你说:加油!
      

  3.   

    to  DelphiBoy2003:
    我个人也感觉书籍章节的标题不太也彩,但是并不说明他们不值得一看,如果我是这本书的读者我想我应该会对书籍的选才感觉到满意,因为这些都实践中的获得的东东有很强的经验性和可用性,而且即便是对同一种问题也可以通过阅读它得到更深刻的理解,就像是练剑一样,剑谱都是一份,但是练剑的人绝对是可以分出水平高低的。
    但是换另外一个角度来看,如果我是这本书籍的读者,当我翻看这本书的目录的时候,看到这些不出彩的标题,我还会不会去买它呢?也许书籍部分标题的朴实性还真是一个问题。
      

  4.   

    hehe^^ 支持!
    有的选总比没有选强!
      

  5.   

    看提纲觉得很好! 尽管本人不会DELPHI
      

  6.   

    我觉得DelphiBoy2003(梦想的妻子是赵灵儿)说的蛮有道理的,主要是你所提出的内容我好像在《DELPHI高级开发指南》这本书上看到过哦,而且那本书上讲的还蛮具体的,蛮有深度的。楼主有空可以去看看啊!
      

  7.   

    Delphi本身在协同开发方面比较弱, 可否增加一些协同使用delphi开发软件质量控制方面的内容,谢谢!
      

  8.   

    不错!精神可佳。Delphi 的书太少了,希望大家把自己的东西写出来和大家分享!!
      

  9.   

    比较杂乱,没有重点和卖点。编辑部一定感兴趣的。不过现在国内使用Delphi的人比较多,但是好地Delphi书比较少。写一本有质量和卖点的书销路会是很不错的。
      

  10.   

    MM              
                                                                    MM                  
                  MM                                  MMMM            MM                
                  MM                                  MMMM            MM                
                  MM                                  MM              MM                
                  MM                                  MM              MM                
                  MMMMMMMMMM                          MM            MMMMMMMM            
          MMMMMMMMMM                                MMMMMMMM      MM  MM            MM  
                  MM                            MMMM  MM              MM        MM  MM  
                  MM                                  MM            MMMMMMMMMMMMMMMM    
                  MMMMMMMM                            MMMMMMMMMMMMMM    MM              
            MMMMMM    MMMM                            MM                MM  MM          
                      MMMM                          MMMM          MMMMMMMMMMMMMM        
            MMMM      MM                          MM  MM    MMMMMM      MM              
                MM  MMMM                    MMMMMM    MM        MM      MM              
                  MMMM                        MM      MM          MM    MMMM            
                MMMMMMMM                              MM          MM    MMMM            
              MM      MMMMMM                      MM  MM                MMMM            
        MMMMMM            MMMMMMMM                  MMMM                MM              
    MMMM                    MMMMMMMMMM                MM              MMMM              
                                                                        MM              
                                                                                        
                                                                                        
                                                                                        
                                                                                        
      

  11.   

    ....................................................................MM..............
    ................................................................MM..................
    ..............MM..................................MMMM............MM................
    ..............MM..................................MMMM............MM................
    ..............MM..................................MM..............MM................
    ..............MM..................................MM..............MM................
    ..............MMMMMMMMMM..........................MM............MMMMMMMM............
    ......MMMMMMMMMM................................MMMMMMMM......MM..MM............MM..
    ..............MM............................MMMM..MM..............MM........MM..MM..
    ..............MM..................................MM............MMMMMMMMMMMMMMMM....
    ..............MMMMMMMM............................MMMMMMMMMMMMMM....MM..............
    ........MMMMMM....MMMM............................MM................MM..MM..........
    ..................MMMM..........................MMMM..........MMMMMMMMMMMMMM........
    ........MMMM......MM..........................MM..MM....MMMMMM......MM..............
    ............MM..MMMM....................MMMMMM....MM........MM......MM..............
    ..............MMMM........................MM......MM..........MM....MMMM............
    ............MMMMMMMM..............................MM..........MM....MMMM............
    ..........MM......MMMMMM......................MM..MM................MMMM............
    ....MMMMMM............MMMMMMMM..................MMMM................MM..............
    MMMM....................MMMMMMMMMM................MM..............MMMM..............
    ....................................................................MM..............
    ....................................................................................
    ....................................................................................
    ....................................................................................
    ....................................................................................