有谁知道VC中LPBSTR在Delphi中可以用哪个类型来代替? ( 积分: 50 )

  • 主题发起人 主题发起人 【小高】
  • 开始时间 开始时间

【小高】

Unregistered / Unconfirmed
GUEST, unregistred user!
有谁知道VC中LPBSTR在Delphi中可以用哪个类型来代替?

我想把一个VC定的接口部份转换成DELPHI的,遇到了诸多问题, 比如LPBSTR在Delphi中可以用哪个类型来代替?
 
有谁知道VC中LPBSTR在Delphi中可以用哪个类型来代替?

我想把一个VC定的接口部份转换成DELPHI的,遇到了诸多问题, 比如LPBSTR在Delphi中可以用哪个类型来代替?
 
pchar 不行吗?

LPBSTR 是不是指针
 
对应PChar
 
PCHAR.
LPBSTR代表指向字符串的指针.
 
LPBSTR 就是 PWideChar(和 vb 的 Byval方式传递字符串参数是一致的,vb 中的字符串就是 widestring),其他的参考如下:

从别人那抄过来的[:)]
『Delphi和C++数据类型对照表』

Delphi 字长/值域 C++

ShortInt 8位有符号整型 signed char
SmallInt 16位有符号整型 short
LongInt 32位有符号整型 int
Byte 8位无符号整型 unsigned char
Word 16位无符号整型 unsigned short
Integer 32位有符号整型 int
Cardinal 32位无符号整型 unsigned int
Boolean 真/假 bool
ByteBool 真/假 或 8位无符号整型 unsigned char
WordBool 真/假 或 16位无符号整型 unsigned short
LongBool 真/假 或 32位无符号整型 BOOL (WinAPI)
AnsiChar 8位无符号字符 char
WideChar 宽字编码字符 wchar_t
Char 8位无符号字符 char
AnsiString Delphi的字符串类 AnsiString 类
String[n] 老式的Delphi字符串, n = 1..255字节 SmallString<n> 模板类
ShortString 老式的Delphi字符串, 255字节 SmallString<255>
String Delphi的AnsiString类 AnsiString
Single 32位浮点数 float
Double 64位浮点数 double
Extended 80位浮点数 long double
Real 32位浮点数 double
Pointer 32无类型指针 void *
PChar 32位字符型指针 unsigned char *
PAnsiChar 32位ANSI型字符指针 unsigned char *
Comp 64位浮点数 Comp 类
OleVariant OLE可变类型值 OleVariant 类

Win32API与C语言数据类型对照表

Win32API C语言

HANDLE void*
BYTE unsigned char
SHORT short
WORD unsigned short
INT int
UINT unsigned int
LONG long
BOOL long
DWORD unsigned long
ULONG unsigned long
CHAR char
LPSTR char*
LPCSTR const char*
LPWSTR wchar_t*
LPCWSTR const wchar_t*
FLOAT float
DOUBLE double
 
WideString 可以替换LPBSTR
 
使用PChar代替也没什么问题的,只是对其中内容处理上要考虑编码问题而已
 
后退
顶部