2012第50周星期二

  1. Delphi dll的动态、静态加载;
    1. 动态加载:指在编译之前并不知道将会调用哪些DLL函数,完全是在运行过程中根据需要决定应调用哪个函数,并用LoadLibrary和GetProcAddress动态获得DLL函数的入口地址。动态加载dll用到时才被调入,用完后就被卸载,大大减少了系统资源的占用。在调用LoadLibrary函数时可以明确指定DLL的完整路径,如果没有指定路径,运行时首先查找应用程序载入的目录,然后是Windows系统的System目录和环境变量Path设定的路径。
    2. 静态加载:在编译之前已经明确知道要调用DLL中的哪几个函数,编译时在目标文件中只保留必要的链接信息,而不含DLL函数的代码;当程序执行时,利用链接信息加载DLL函数代码并在内存中将其链接入调用程序的执行空间中,其主要目的是便于代码共享。
    3. 静态调用方式就是在单元的Interface部分用External关键字列出要从DLL中引入的例程(如function AddNum(Num1,Num2:integer):integer;stdcall;external 'AddNum.dll' name 'AddNumber';;动态调用方式就是通过调用Windows的API包括LoadLibrary函数、GetProcAddress函数以及FreeLibrary函数动态的引入DLL中的例程。
  2. HTML <object> 标签用于包含对象,比如图像、音频、视频、Java applets、ActiveX、PDF 以及 Flash。object 的初衷是取代 img 和 applet 元素。不过由于漏洞以及缺乏浏览器支持,这一点并未实现。OBJECT标签有4个设定(HEIGHT, WIDTH, CLASSID和CODEBASE),都是它的属性。CLASSID 取值:clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 功能描述:指明浏览器所用的ActiveX控件,必须完全与上面的值相同,仅适用于"OBJECT"标志中。

你可能感兴趣的:(2012)