几个问题,关于WinAPI的使用及其他(100分)

  • 主题发起人 主题发起人
  • 开始时间 开始时间

Unregistered / Unconfirmed
GUEST, unregistred user!
最近在阅读一个MDI的书写器的源程序时遇到几个问题:
1、MakeObjectInsance()和FreeObjectInstance()是什么函数,为什么在BCB的帮助中都
找不到相关的内容,在WinAPI帮助中也没有,这是什么函数?在程序中作者是直接使用的,
其返回值是Pointer类型的。
2、在程序中使用到一个函数::GetClientRect(Handle,(Rect*)&rect)(注:rect已定义)
从这个函数的参数来看,是一个WinAPI函数,但在使用中为什么要加上"::"运算符?使用
WinAPI函数一定需要这个运算符吗?我试着删去该运算符,编译出现函数调用错误,参数
不对,难道是BCB中的名空间的问题吗?是在使用系统默认的全局名空间吗?那这个名空间
是什么?
 
1、这是Delphi提供的函数,并不是WinAPI
2、有可能调用这个类也有一个叫GetClientRect的函数,所以要加一个限定符::
 
TForm是有这样一个函数,区别就是参数不同,加限定符?怎么限定?限定什么?
 
::GetClientRect(Handle,(Rect*)&rect)
加::表明是全局的API函数,和C++里如果在MAIN里面调用类的static 函数和变量
是一会事
 
API函数有不是全局的吗?其他的API在调用时也不是都需要加"::",
什么情况下需要加“::”来说明是全局的?
 
加::是因为很多类自己有同名函数,作用和API函数不同,所以为了使用这些
API函数,就加::来表示调用的是API函数
 
多人接受答案了。
 
后退
顶部