DELPHI无类型参数

DELPHI无类型参数数组

有很多Delphi新手对过程(函数)的无类型参数感到困惑,不知该传递什么类型。其实,Delph中有很多这类无类型参数,如经常使用的Move过程,只要把它当着一个Byte类型的数组看待就好了。ide

当使用string类型做实参传递给无类型形参时,要把s[1]做为参数传递(string类型下标是从1开始的),或者用指针转换,如PChar(s)^。函数

若是是Delphi2009及以上版本,string类型做实参传递给无类型形参时,要注意不能简单的将Length(s)传递给SourceSize,而应该是Length(s) * Sizeof(char),由于Length(s)是字符串的长度,而不是实际缓冲区的长度,Delphi2009及以上版本中默认的string是WideString,编码

char也等于WideChar,每一个char占2字节。spa

固然用string类型传递给无类型参数计算的是Unicode字符串的Base64编码,只有用AnsiString类型传递给无类型参数,或者使用StrToBase64过程(会自动转换string为AnsiString),才多是你须要的Base64编码.指针

相关文章
相关标签/搜索