const char* 在 C++ CLI 中返回 true

问题描述

从昨天开始,我一直在努力用另一个类的代码将文本转换为标签,我来到了这个:

Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
TestApp::UI_Error form("test","test");
Application::Run(% form);

使用上面的代码,我显示一个在加载时接收“t​​est”、“test”作为 2x const char* 的 winapi 表单,当我尝试使用这些变量设置标签中的文本时出现问题 代码如下所示:

public:
    UI_Error(const char* errorText,const char* errorCode)
    {
        InitializeComponent();

        this->testLabel->Text = System::Convert::ToString(errorText);
    }

不知什么原因,每次win窗体窗口显示的返回值都是“true”,虽然这里应该是“test”,但有没有人知道解决办法?

我尝试使用 std::string 而不是 const char*,不幸的是由于某种原因我得到了需要静态变量的错误代码 :(

解决方法

也许我在这里错了,但 System::Convert::ToString() 似乎没有接受 const char* 指针的方法。看起来它被转换为其他东西。

试试这个:

Text = gcnew System::String(errorText);