Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在COM对象之间传递char* 我需要修改Delphi和C++编写的应用程序,使用COM。我经常看到COM包装器总是使用WideString和BSTR,即使最后使用的dll与纯字符*一起工作。所以没有unicode字符串就不可能在COM对象之间通信? 非常感谢您提供一些关于本主题的进一步阅读链接。_C++_String_Delphi_Unicode_Com - Fatal编程技术网

是否可以在COM对象之间传递char* 我需要修改Delphi和C++编写的应用程序,使用COM。我经常看到COM包装器总是使用WideString和BSTR,即使最后使用的dll与纯字符*一起工作。所以没有unicode字符串就不可能在COM对象之间通信? 非常感谢您提供一些关于本主题的进一步阅读链接。

是否可以在COM对象之间传递char* 我需要修改Delphi和C++编写的应用程序,使用COM。我经常看到COM包装器总是使用WideString和BSTR,即使最后使用的dll与纯字符*一起工作。所以没有unicode字符串就不可能在COM对象之间通信? 非常感谢您提供一些关于本主题的进一步阅读链接。,c++,string,delphi,unicode,com,C++,String,Delphi,Unicode,Com,要在COM中传递8位字符,您可以: 用于创建按原样保存原始char字符的二进制文件。然后,接收器可以从BSTR复制char字符 使用/创建一个保持VT_UI8元素,然后可以将char字符原样复制到数组中。如果需要,您可以将SAFEARRAY放入 将char字符包装在中,例如from或 要在COM中传递8位字符字符串,您可以: 用于创建按原样保存原始char字符的二进制文件。然后,接收器可以从BSTR复制char字符 使用/创建一个保持VT_UI8元素,然后可以将char字符原样复制到

要在COM中传递8位
字符,您可以:

  • 用于创建按原样保存原始
    char
    字符的二进制文件。然后,接收器可以从
    BSTR
    复制
    char
    字符

  • 使用/创建一个保持
    VT_UI8
    元素,然后可以将
    char
    字符原样复制到数组中。如果需要,您可以将
    SAFEARRAY
    放入

  • char
    字符包装在中,例如from或


要在COM中传递8位
字符
字符串,您可以:

  • 用于创建按原样保存原始
    char
    字符的二进制文件。然后,接收器可以从
    BSTR
    复制
    char
    字符

  • 使用/创建一个保持
    VT_UI8
    元素,然后可以将
    char
    字符原样复制到数组中。如果需要,您可以将
    SAFEARRAY
    放入

  • char
    字符包装在中,例如from或


COM设计用于在必要时跨网络工作,因此它实际上根本无法与指针一起工作。为什么不想使用BSTR?不能说是Delphi,但可以对COM对象使用char*参数。进程内、进程外或跨COM单元共享指针,它们将是指向char*代理的指针(这是封送)。例如,它使用char*指针。@DavidHeffernan因为我只需要ansi字符串,而且更像是一个一般性的问题,在系统中是否可能?BSTR有什么问题?COM被设计为在必要时跨网络工作,因此它实际上根本不能与指针一起工作。为什么不想使用BSTR?不能说是Delphi,但可以对COM对象使用char*参数。进程内、进程外或跨COM单元共享指针,它们将是指向char*代理的指针(这是封送)。例如,它使用char*指针。@DavidHeffernan因为我只需要ansi字符串,而且更像是一个一般性的问题,在系统中是否可能?BSTR有什么问题?