好多代码老看到句柄和API它们是怎么个工作原理详细给解释一下,有例子最好
解决方案 »
- 数据库备份与还原
- 连接占线,导致另一个命令的问题
- 一个IdUDPServer和IdUDPClient使用的简单问题,在线等,急
- 各位推荐一下有什么中间件数据访问速度较快的。
- 关于定时器的用法?
- 请问怎样把桌面上正在播放的媒体视频采集到自己程序上呢?
- 帮忙举个例子说明flathint的用法,谢谢!
- 300元人民币 购买一份源程序
- Delphi 中有没有 JavaScript 的 ParseInt() 函数???
- 非常非常紧急的问题!!!不搞定肯定被炒!!!
- *** ImageList读取ico,然后画到SpeedButton上会严重失真???求助
- delphi中使用rmreport控件打印dbgrid中的数据
API就是应用编程接口,公用函数
API函数接口,编程中可以很方便的调用不同的API函数,实现不同的功能。
API是接口函数,是封装好的了,我们不用关心函数内它是怎么实现的,只要懂得如何调用及清楚返回的结果是什么即可,像Windows API我们可以直接拿来用这是我的肤浅之见哈!!!
句柄 创建xxx() 函数返回一个句柄
操作(句柄)
销毁(句柄) 说起句柄像指针,传说windows至少某些版本就是拿指针当句柄使的。
还是去看微软怎么说的http://msdn.microsoft.com/en-us/library/windows/desktop/ms724457(v=vs.85).aspx
假设你要实现了一些函数用于操作某个数据结构的,你一般会这么做:1. 先设计这个数据结构:
PData = ^TData;
TData = record
Data1: Integer;
Data2: Integer;
end;2. 设计一些操作函数
function CreateData: PData;
procedure FreeData(Data: PData);
procedure ProcData1(Data: PData; data1, data2: Integer);
procedure ProcData2(Data: PData; data1, data2: Integer);3. 现在你的函数设计好了,但是你觉得数据结构内部知道就好了,外部调用的并不需要知道。
那么,你将函数重新设计成这样:
function CreateData: Pointer;
procedure FreeData(Data: Pointer);
procedure ProcData1(Data: Pointer; data1, data2: Integer);
procedure ProcData2(Data: Pointer; data1, data2: Integer); 用户创建了某个结构,但他并不知道,他只要调用函数操作这个结构就好了,把这个概念更一般化一些。
这个结构指针就是所谓的“句柄”不知这样解释你明白些了没有。