问题标签 [c++-cli]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2972 浏览

user-interface - C ++中托管和非托管类型之间的转换?

我认为,当我在 C++ 中使用 GUI 时,文本字段存储为托管字符串。我需要一种将它们转换为标准整数、浮点数和字符串的方法。有什么帮助吗?

0 投票
1 回答
68 浏览

.net - 我需要用来声明特定类的命名空间是什么?

课程如下:

0 投票
1 回答
2979 浏览

.net - 如何在 C++(DATATABLE)中实例化托管类?

嗨,当我尝试创建实例时,我正在 C++ 中创建一个数据表,如下所示
,因为无法为抽象类创建实例,所以出现编译时错误。在这里,我没有使用任何抽象关键字。

0 投票
2 回答
860 浏览

.net - 如何在 C++ 中实现 IListSource 接口

我想从 C++ 实现 IListSource 接口。它包含 1 个方法 GetList() 和一个名为 ContainsListCollection 的属性。

我该怎么做。如何在 C++ 中将属性设置为 false/true

0 投票
2 回答
340 浏览

.net - 托管 C++ 中的类型转换

嗨,在第二行尝试从对象转换为字符串数组时,它显示编译时错误为

'System::String ^' : 本机数组不能包含此托管类型

'initializing' : 无法从 'System::String ^' 转换为 'System::String ^[]'

代码:

如何解决这个问题....提前致谢。

0 投票
4 回答
4228 浏览

c# - 跟踪 DLL 依赖项以将本机 C++ DLL 包装到 .NET

我有一个要向 .NET 应用程序公开的 C++ DLL(无代码)。

在考虑了我拥有/知道/可以找到的所有选项(COM、P/Invoke、SWIG 等)之后,我正在编写一个 .NET 类库(在 C++/CLI 中)。现在生成的 DLL(类库)也需要原始 DLL 及其依赖项。我的问题在于自动跟踪这些事情,以便使用包装器的应用程序不必跟踪其他(本机)DLL(特别是如果原始 DLL 开发了新的依赖项)。

更准确地说(并且有一些具体的讨论),我正在尝试包装cmr,所以我编写MR了类库(这cmr自然取决于)。cmr取决于PNLOpenCV和其他。当我尝试MR在 (C#) 项目中添加对的引用时,Visual Studio (2005 SP1) 只是复制MR.DLL了 ,留下了所有依赖项,然后抱怨(抛出FileNotFoundException关于缺少模块的信息)。cmr手动将,PNL等复制到bin目录修复了问题。

事不宜迟,我的问题是:.NET 应用程序有没有办法只添加对一个 DLL 的引用,并且一切正常

我一直在搜索谷歌和SO,但无济于事......

编辑:mergebin 似乎最接近我正在寻找的东西,但它只能将 .NET DLL 与一个本机 DLL 合并。太糟糕了,不能合并本机 DLL。

0 投票
2 回答
2673 浏览

visual-studio-2008 - 无法在从 C# 调用的 C++/CLI 使用的 C DLL 中设置断点

我有一个由 C++/CLI 对象调用的本机 C DLL,该对象是 C# 中 WPF 程序的 ViewModel。我想在 C DLL 中设置断点。当我尝试设置它们时,它们是灰色的,并且帮助气球说断点当前不会被命中。没有为此文档加载任何符号。

为了让程序正常运行,我必须添加一个自定义构建步骤,它将 DLL、PDB、ILK 和 LIB 文件复制到 C# 主程序的中间目录。我怀疑这与问题有关。

当我查看加载的模块列表(调试 - Windows - 模块)时,在我知道 DLL 已加载并执行其中的一些函数之后,我看不到 DLL。我看到了 C# 主程序和调用 C DLL 的 C++/CLI 模块。

所有这些项目都在同一个解决方案中 - 我是否需要运行解决方案的单独实例才能调试 DLL?理想情况下,我希望能够调试本机 DLL 以及调用 GUI 代码。

谢谢

0 投票
1 回答
2370 浏览

c++-cli - 如何将数据添加到 DataTable?

如何将数据添加到具有 5 列的 DataTable?

我正在使用 C++ (CLI)。

0 投票
1 回答
1708 浏览

c# - 为什么我的自定义控件不接收拖放事件?

我在 C++/CLI 中编写了一个自定义控件(Forms.Control 的直接子级),它将把它的大部分处理和所有的绘制卸载到一个单独的传统 MFC 控件。我将此控件包装在 C# 应用程序中。我需要能够将项目从应用程序中同一窗体上的 UserControl 拖到 C++/CLI 控件上。

出于某种原因,尽管我将 AllowDrop 设置为 true,但我的自定义控件没有收到任何拖放事件。(我已经验证 AllowDrop 在运行时是真的。)我从来没有机会检查/操作 DragEventArgs,因为从不调用回调。

我已经验证了拖放功能正常。例如,如果我用面板替换自定义控件,我会得到拖放回调就好了。

是否必须在控件中实现一些额外的东西来支持拖放回调?系统是否必须处理一些微妙的事情才能识别控件正在悬停并且应该是拖放操作的目标?

笔记:

用于绘制的 MFC 控件对我来说尚不可用,所以我只是绘制一个简单的渐变背景(通过OnPaintBackground),我正在尝试绘制。我还在OnPaint.

我尝试在创建自定义控件的句柄之前(通过设计器/构造函数代码)和创建句柄之后(通过 OnHandleCreated 覆盖)设置 AllowDrop = true。行为上没有区别。

拖动光标永远不会从自定义控件上的默认“无可用拖动”光标更改。

我正在this.DoDragDrop()从事件处理程序调用MouseDownUserControl 的子控件上的事件。

DragDrop 似乎可以与我在 C# 中创建的另一个自定义控件在与用户控件相同的程序集中工作。它很好地捕获了回调。只有我的 C++/CLI 控件没有看到它们。初始化组件 goo 是无关紧要的。我可以毫无改变地评论它。

0 投票
8 回答
98888 浏览

c# - 从 C++ 调用 C# 代码

我需要能够从 C++ 调用任意 C# 函数。http://www.infoq.com/articles/in-process-java-net-integration建议使用 ICLRRuntimeHost::ExecuteInDefaultAppDomain() 但这仅允许我调用具有以下格式的方法:int method(string arg)

调用任意 C# 函数的最佳方法是什么?