WEB开发网
开发学院数据库Access Access的秘密技巧和陷阱 阅读

Access的秘密技巧和陷阱

 2005-10-31 12:42:18 来源:WEB开发网   
核心提示: 你尝试安装的模块要么是包含有相同的函数名,要么是包含在已存在的模块中有的过程名,Access的秘密技巧和陷阱(3),删除这些过程,在EDIT菜单中使用FIND命令找到重复的过程名,只不过,算术方法可能可读性更强一些,要解决这一问题,你需要使用一种叫做“别名使用“的技术

  你尝试安装的模块要么是包含有相同的函数名,要么是包含在已存在的模块中有的过程名。删除这些过程,在EDIT菜单中使用FIND命令找到重复的过程名,要解决这一问题,你需要使用一种叫做“别名使用“的技术。这种技术允许你给你的过程一个独一无二的名字。但是,你选择的别名也有可能不是独一无二的,所以要使你取的名字唯一,你可以用初始值和下划线优先声明你所有从动态链接库中调用的过程,比如,声明getActiveWindow为:Declarebcb_GetActiveWindowLib Kernel Alias GetActiveWindow ()AsInteger.如何传递一个空指针给动态链接库一个空的32位指针是有效的或是为一些动态链接库要求具有参数。要指定一个空值,使用0&。当你的函数调用一个过程并传递一个表达式0&,“&”指定一个32位的空指针,在函数声明中,一个ASANY参数指示AccessBasic对那个参数不进行类型检查,同时把值传递到被调用的函数。下面的编码示范了一个正确的方法,告诉你如何声明一个给动态链接库中的过程传递一个空指针参数的AccessBasic函数。这段声明了WriteProfileString应用程序接口函数。这个函数来自于外部Windows动态链接库“kernel。

DeclareFunctionWriteProfileString Lib Kernel (ByVallpApplicationNameAs Any, ByVal lpKeyName As Any, ByVal lpStringAsAny)

接下来的函数调用了一个外部过程,位每个参数指定一个空值。这将使WriteProfileString充满它的内部高速缓冲区,并且WIN.INI的任何变化写到磁盘上。重要的对这个函数不正确的使用会引起一般性的保护故障或修改你的WIN.INI文件。

FunctionnFlushIniCache()nFlushIniCache= WriteProfileString (0&,0&, 0&)EndFunction

如何从动态链接库中传递和接收无符号整型数

  常常有这样一种情况,要从外部动态链接库调用的过程中返回一个两个字节长的无符号整型数。然而AccessBasic不支持这种数据类型。正确地计算这种数据类型需要把它从一个无符号整型数转换程AccessBasic长数据类型。

  AccessBasic整型数的范围使从-32768到32767。一个无符号整型数的范围是从0到65535。AccessBasic用最明显的一位来放置数值的符号位,所以当数值超过32767,第16位将被置成负数符号。要计算一个无符号整型数,你必须人工调整第16位。

  从无符号整型数转换到AccessBasic长整型数或从AccessBasic的长整型转换成无符号整型数有两种方法。第一种方法用到了最基本的数学运算(65535被无符号整型值加或减)。第二种方法使用Bitwise操作。实际上,算术方法和Bitwise方法工作起来效果一样,只不过,算术方法可能可读性更强一些,而Bitwise方法在执行时可能更快一些。


上一页  1 2 3 4 5  下一页

Tags:Access 秘密 技巧

编辑录入:coldstar [复制链接] [打 印]
赞助商链接