摘要:
标题:delphi 消息机制学习笔记
关键词:delphi 消息机制
作者:dreamtheater
难度:普通[] 中等[x] 高级[]
http://dreamtheater.yeah.net
e-mail:notexpad@163.com
完成日期:2004年08月12日
前言 最近几天又将李维《inside vcl》......
摘要:做这个项目已经有三个月了,一直都是一个人搞。
从分层设计,到数据库结构,存储过程,到算术逻辑层和用户界面,渐渐的发现,将来的项目不在是一个人能够独立完成的事情了。
我这些天来准备为这个项目设计一个个性化一点,漂亮一点的界面,有图标的菜单栏,大大的工具栏,浮动的操作面板和多功能的状态栏。可是越做越不对劲,繁琐而又重复的放置控件,设置属性,编写代码使我越来越觉得做界面好累!
于是我陷入了深深的迷......
Win32环境下动态链接库(DLL)编程原理(转贴)http://www.vckbase.comwindows系统平台上提供了一种完全不同的较有效的编程与运行环境,你可以将独立的程序模块创建为较小的dll(dynamic linkable library)文件,并可对它们单独编译与测试.在运行时,只有当exe程序确实要调用这些dll模块的情况下,系统才会将它们装载到内存空间中.这种方式不仅减少了exe文件的大小与对内存空间的需求,而且使这些dll模块可以同时被多个应用程序使用.microsoft windows自己就将一些主要的系统功能以dll模块的形式实现.例如ie中的一些基本功能就是由dll文件实现的,它可以被其它应用程序调用与集成. 【程序编程相关:
CodeGuru-代码权威】比较大应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作.其中可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用.在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序exe文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间,造成系统资源的浪费;另一个缺点是,在编写大的exe程序时,在每次修改重建时都必须调整编译所有源代码,增加了编译过程的复杂性,也不利于阶段性的单元测试. 【推荐阅读:
在 WebService 中使用属性】在win32环境中,每个进程都复制了自己的读/写全局变量.如果想要与其它进程共享内存,必须使用内存映射文件或者声明一个共享数据段.dll模块需要的堆栈内存都是从运行进程的堆栈中分配出来的. 【扩展信息:
PowerPoint、Excel中自定义】一般来说,dll是一种磁盘文件(通常带有dll扩展名),它由全局数据.服务函数与资源组成,在运行时被系统加载到进程的虚拟空间中,成为调用进程的一部分.如果与其它dll之间没有冲突,该文件通常映射到进程虚拟空间的同一地址上.dll模块中包含各种导出函数,用于向外界提供服务.windows在加载dll模块时将进程函数调用与dll文件的导出函数相匹配.dll现在越来越容易编写.win32已经大大简化了其编程模式,并有许多来自appwizard与mfc类库的支持.一.导出与导入函数的匹配dll文件中包含一个导出函数表.这些导出函数由它们的符号名与称为标识号的整数与外界联系起来.函数表中还包含了dll中函数的地址.当应用程序加载dll模块时时,它并不知道调用函数的实际地址,但它知道函数的符号名与标识号.动态链接过程在加载的dll模块时动态建立一个函数调用与函数地址的对应表.如果重新编译与重建dll文件,并不需要修改应用程序,除非你改变了导出函数的符号名与参数序列.简单的dll文件只为应用程序提供导出函数,比较复杂的dll文件除了提供导出函数以外,还调用其它dll文件中的函数.这样,一个特殊的dll可以既有导入函数,又有导入函数.这并不是一个问题,因为动态链接过程可以处理交叉相关的情况....
下一页 摘要:从windows到linux —— 装linux吧,你不要怕!
乾坤一笑[smileonce] smileonce@126.com 2004-8-13 版权所有 转载请注明出处 http://blog.csdn.net/smileonce
自从post了《从windows到linux》系列的两篇文章后,我收到了很多朋友的来信,很多朋友还是很畏惧装linux,他们不断......