Delphi

本类阅读TOP10

·分布式网络考试系统原型分析及实现
·游戏外挂设计技术探讨①
·使用HOOK随心监视Windows
·Delphi 水晶报表打包解决
·试题库开发中非文本数据的处理
·如何将几个DBGRID里的内容导入同一个EXCEL表中....的问题
·如何使用Delphi设计强大的服务器程序
·工人线程中关闭窗体的实现
·用DLL方式封装MDI子窗体。
·支持XP下托盘栏气球提示的托盘单元

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
关于NULL,nil,0(其实都知道,只不过我把他整理成册了)(一)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站





关于NULL,nil,0

用过C++Delphi的程序员都知道,C++中的NULLDelphi中为nil,意思是空指针

 

C++ (void*)0 Dlephi Pointer(0)

但是,这不是绝对,因为Handle


C++Handle,是一个指针


DelphiHandle,被理解为一个整数了,于是一切差别就从这里开始


先看一个函数吧! CreateWindow

C++的申明为:

HWND CreateWindow(

    LPCTSTR lpClassName, // pointer to registered class name

    LPCTSTR lpWindowName,       // pointer to window name

    DWORD dwStyle, // window style

    int x,      // horizontal position of window

    int y,       // vertical position of window

    int nWidth,       // window width

    int nHeight,       // window height

    HWND hWndParent, // handle to parent or owner window

    HMENU hMenu,   // handle to menu or child-window identifier

    HANDLE hInstance,     // handle to application instance

    LPVOID lpParam        // pointer to window-creation data

);

让我们来看看有几个指针(7个,返回值,前两个参数,后四个参数)

让我们再来看看在Delphi中的申明:

function CreateWindow(

    lpClassName: PChar;    // pointer to registered class name

    lpWindowName: PChar;   // pointer to window name

    dwStyle:Integer;     // window style

    x: Integer;       // horizontal position of window

    y: Integer;       // vertical position of window

    nWidth: Integer;  // window width

    nHeight: Integer;  // window height

    hWndParent: Integer;  // handle to parent or owner window

    hMenu: Integer;  // handle to menu or child-window identifier

    hInstance: Integer;  // handle to application instance

    lpParam: Pointer   // pointer to window-creation data

 ): Integer;

有几个指针呢?(有三个,前两个和最后一个参数)


如果在调用此函数时,夸张一点,将所有指针(以C++)全用NULL代替的话,在Delphi中,函数调用应是这样的:

hWnd:= CreateWindow( ’’,’’, ws_Child, 0,0,100,100,0,0,0,nil); //此函数只是例子


可见如果NULL指的是Handle的话,在Delphi中,它等价与0;其他吗?等价于nil(PChar暂且搁下)(见第二篇)

 

以上是我的一些看法,愿大家指正




相关文章

相关软件