2017-03-03 22 views
1

尝试呼叫从VBA C++函数(在dylib编译)和一个字符串传递给它如下 -(苹果机)从VBA传字符串参数传递给dylib - 在C上接收空字符串++函数

.H

extern "C" 
{ 
int func(const char* &str); 
} 

的.cpp

int func(const char* &str) 
{ 
//something something 
} 

VBA

Declare PtrSafe Function func Lib "<LibPath>" (ByRef str As String) As Integer 
... 
Function outFunc 
    Dim str As String 
    str = "Hello" 
    func (str) 
End Function 

在调试C++代码,该函数被正确地击中,但一个空字符串在“STR”变量被接收。 还使用nm实用程序来确认函数是否从dylib正确显示。

+0

尝试通过字节而不是串的阵列中:Dim str作为字符串 暗淡ArrayOfBytes()作为字节 STR = “yourString” ArrayOfBytes()= STR – basslo

回答

相关问题