gpt4 book ai didi

C++ 从 native 代码的另一种形式获取值(value)?

转载 作者:太空宇宙 更新时间:2023-11-04 14:15:48 25 4
gpt4 key购买 nike

我目前有一个 main.cpp 和一个 editor.h

editor.h是托管代码main.cpp 是 native 代码。

在 main.cpp 中,我通常会运行一个新的编辑器实例:

Application::Run(gcnew Editor());

但是在 main.cpp 的另一个地方我想从那个表单中提取一个值,所以我怀疑我是这样做的:(main.cpp)

....
Editor^ EditorEntry;
..
..
EditorEntry::Value1....
EditorEntry::Panel1->Name...

int main(..)
{
...
Application::Run(gcnew EditorEntry());
...
}

但我不能,得到这个:

error C3145: 'EditorEntry' : global or static variable may not have managed type 'Cube3D::Editor ^'

那么我会/应该怎么做呢?

最佳答案

需要读取编辑器值的代码段本身是否需要在 native 代码中?它可以在另一个托管类中吗?例如,您可以将编辑器传递给此类,以便它可以读取其属性。

int main(..)
{
EditorEntry^ editor = gcnew EditorEntry();
EditorObserver^ observer = gcnew EditorObserver(editor);

Application::Run(editor);
...
}

EditorObserver 将保留一个字段,其中包含在其构造函数中传递的 EditorEntry,并且能够访问其公共(public)接口(interface)、监听其事件等。

在面向对象的应用程序中,您无论如何都不会在 main.cpp 中放置太多代码。

关于C++ 从 native 代码的另一种形式获取值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11409851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com