易截截图软件、单文件、免安装、纯绿色、仅160KB

Delphi中DLL初始化和退出处理


<1>利用Unit的
Initalization与Finalization这两个小节
  可以在Unit的这两个小节中安排Unit的进入和退出,但是
Program

Library并没有这两个部分,所以只能写在Unit中。
<2>利用ExitProc变量
  在Library的begin
..end.中间是可以写代码
的,
这里可以放置
DLL初始化代码
。如果想要做善后工作,则可以利用ExitProc变量。
我们首先在初始化代码

把ExitProc中包含的默认的善后过程地址保
存下来,然后把自定义的过程的地址赋给它,这样DLL退出时就会执
行我们制定的程序;在
自定义的过程的最后,把ExitProc恢复原来的
默认值,以便DLL能够继续完成原来默认的善后工作。下面是示例:
  library
MyDLL;
  ...
  OldExitProc: pointer;
  ...
  procedure
MyExitProc;
  begin
  ... //善后程序
  ExitProc :=
OldExitProc;
  end;
  ...
  begin
  ... //初始化程序
 
 OldExitProc := ExitProc;
  ExitProc := @MyExitProc;
  end.
<3>利用DllProc变量
  和ExitProc一样,DllProc也是一个在Systemd单元中预定义的变
量。
在使用DLLProc时, 必须先写好一个具有以下原型的程序:
  procedure

DLLHandler(Reason: integer);
并在library的begin
..end.之间,
将这个DLLHandler程序的执行地
址赋给DLLProc中, 这时就可以根据参数Reason的值分别作出相应的
处理。另外注意要
将Windows单元加入uses子句。示例如下:
  library TestDLL;
  ...
procedure
MyDLLHandler(Reason: integer);
begin
case Reason of
   
DLL_PROCESS_DETACH:
      begin
       
ShowMessage('整个DLL的善後程序');
      end;
    DLL_Process_Attach:
     
begin
       
ShowMessage('整个DLL的初始化代码
');
      end;
    DLL_Thread_Attach:
      begin
       
ShowMessage('当主叫端开始一个Thread时');
      end;
    DLL_Thread_Detach:
   &n


相关文档:

Delphi多线程学习(11):多线程图形操作

VCL对象不是线程安全的,而且它们的属性和方法必须要从VCL主线程中进行访问或被执行,但有两种VCL对象是例外的情况,它们是线程安全的。一种是任何图形对象,另一种是TThreadList。
     这意味着不必非得在主VCL线程中才能设置一个画布的画笔颜色,或画刷类型,可以在另一个线程的环境中完成一点。对 ......

Delphi中的Record


在Delphi中的Record类型中,与之C语言对应的即是结构体类型(struct
),也可能是为了符合C语言或C++程序员的习惯,对于它在Delphi中的应用存在的一些问题进行初步的说明。在Delphi中的记录体类型有两种方式定义
Type
    RecTest = record (packed
)
      ID :integer; ......

Delphi游戏开发网址大全[转贴]


Source Code
http://www.codefans.com/CodeList/Catalog_5_CodeTime_Desc_1.html
http://www.vscodes.com/sitemap.html
http://www.itlove.net/Soft/261/
DelphiX
http://www.micrel.cz/Dx/
http://www.delphi3d.net/index.php
http://www.pascalgamedevelopment.com/
http://www.2ccc.com/article.asp?articleid ......

WSAAsyncSelect模型Delphi简单实现


TCP连接建立与关闭
相信各位读者现在对於 Winsock 的定义、系统环境,以及一些 Winsock Stack及 Winsock 应用程式,都有基本的认识了。接下来笔者希望能分几期为各位读者介绍一下简单的 Winsock 网路应用程式设计。我们将以 Winsock 1.1 规格所定义的 46 个应用程式介面(API)为基础,逐步来建立一对 TCP socket 主从架 ......

Delphi下POS机控制钱箱,客显,打印机,小票打印

1、控制POS机的客户显示屏
procedure TFrmMain.ShowMoney(Money_Port:   String;Money_String:String);
//Moneey_Port     顾显接口Com1   or   Com2     Money_String     顾显显示的内容
var
    PrnFile ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号