从cpp类c ++调用windows形式的getter不会返回任何内容

时间:2013-05-30 16:20:47

标签: forms c++-cli clr getter

我有一个cpp类和一个Windows窗体。在cpp类中,我声明了getters(return char)和setter。问题在于,当我以形式呼叫吸气剂时,他们似乎什么都没回来。我在控制台项目中测试cpp,它工作正常。这是我在Form.h中的代码片段:

vector<NewProduct> products = getPhotosFromDB();

char* photoChar = products[0].getName();
String^ result;
result = marshal_as<String^>( photoChar );
label2->Text = String::Format(L"name= {0} ",  result);

**连接正常,矢量大小正确。但当我运行项目时,我得到"name=" (blank ) 或有时候"name=[]" (a square).

1 个答案:

答案 0 :(得分:0)

这个方块让我想到了一个编码问题,比如getName()实际上是不是返回一个8位字符数组,而是一个宽字符数组。您应该使用调试器检查photoChar指向的位置的内存。

修改:另外,请检查标签的宽度。它可能太短而无法显示文本,也不会自动调整大小。