shaotao的历程 - 不断学习新知识

学习需要过程,而我需要一个博客来记录这个过程!

导航

2009年10月20日

DLL浅析(4)

摘要: 运行应用程序时,典型的初始化操作包括登记Windows类,初始化全局变量和初始化入口/出口函数。DLL的初始化代码就是DLL项目的begin..end块之间的代码,我们可以在这里设置入口和出口过程——全局变量DLLProc就是我们分配给DLL入口和出口函数的指针。procedure DLLEntryPoint(dwReason: DWord); begin  case dw... 阅读全文

posted @ 2009-10-20 22:47 shaotao 阅读(274) 评论(0) 推荐(0)

2009年10月18日

Delphi之字符串

摘要: AnsiString类型是Object Pascal的缺省字符串类型,等同于String。同时它也是生存期管理类型,具有动态内存分配和垃圾自动回收功能,Object Pascal也会自动地管理临时串的内存分配工作。另外,AnsiString类型总是以Null结尾,从而和Win32 API中的Null结尾字符串兼容。AnsiString的内存分配情况:  AnsiString是引用计数类型,字符串之... 阅读全文

posted @ 2009-10-18 21:32 shaotao 阅读(996) 评论(0) 推荐(0)

2009年10月17日

DLL浅析(3)

摘要: 在Win32中,每个应用程序进程把DLL映射到自己的地址空间中,DLL的数据也映射到了应用程序进程空间中,所以每个应用程序拥有自己的DLL数据实例。一个应用程序对DLL中的全局数据进行修改都不会影响其他应用程序。这带来一定安全性,不过这又使得我们不能共享DLL全局数据。然而我们仍可以通过使用内存映射文件来存储共享数据,从而达到进程间通信的目的(当然还有很多其他方法)。  当应用程序载入一个DLL时... 阅读全文

posted @ 2009-10-17 23:10 shaotao 阅读(332) 评论(0) 推荐(0)

DLL浅析(2)

摘要: 载入一个DLL有两种方法:隐式和显式(或称为:静态和动态)。其中静态载入又可以有两种方式:1.定义接口单元,接口单元让DLL的调用者可以静态地引入DLL中的函数到应用程序中,应用程序只要在模块的uses子句中包含引入单元名(如下面例子中的TestDLLInterface.pas)就可以使用这些函数。(其中Windows.pas就引入了kernel32.dll等DLL中的函数)。unit TestD... 阅读全文

posted @ 2009-10-17 15:15 shaotao 阅读(271) 评论(1) 推荐(0)

2009年10月16日

JQuery困惑—包装集和DOM节点的区别使用

摘要: 我使用了JQuery进行了一段时间的前端开发,它提供的选择功能是如此的好用,尤其是在具备了一定CSS知识之后。同时在开发过程中我被一个问题困惑了好几天,也许在别人看来这根本不是问题!  $('#someElement')和$('#someElement')[0],这条语句带给我一段时间的困惑,开始时每次使用我总是在其中一个在出错的时候换成另外一个,虽然这样总能解决问题,但心里有中说不出的郁闷!后来... 阅读全文

posted @ 2009-10-16 17:40 shaotao 阅读(309) 评论(0) 推荐(0)

DLL浅析(1)

摘要: windows下的DLL文件和EXE文件实际上是一个概念,都是PE格式的二进制文件。所不同的是:PE文件的头部有个符号为表示该文件是EXE还是DLL,这里需要注意的是:windows下的DLL文件和EXE文件实际上是一个概念,也就是说:DLL文件不一定是.dll,也有可能是其他的文件:比如.ocx(ocx控件)或是.cpl(控制面板程序)。最近我就遇到一种DLL文件,它是.lcf(用于处理国际化)... 阅读全文

posted @ 2009-10-16 15:36 shaotao 阅读(330) 评论(0) 推荐(0)