问题标签 [marshalling]
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.
c# - MessageBox.Show() 是否自动编组到 UI 线程?
我通过 ThreadPool.QueueUserWorkItem 启动一个线程,其中有一个消息框对话框:
System.Windows.Forms.DialogResult dr = System.Windows.Forms.MessageBox.Show("您想在后台下载升级吗?..", "升级可用", MessageBoxButtons.YesNo);
它似乎工作正常,但是在一些客户建议他们没有收到消息弹出后,我有点怀疑。我在 .NET 框架 2.0+ 中感觉您不需要编组这个特定的调用,它会为您完成。正确的?
这是一个感兴趣的半相关主题: 为什么在 MessageBox.Show 中使用所有者窗口?
c++ - 将多个参数传递给 CreateThread
问题:
如何将两个参数具体传递给CreateThread,当:
- 论据一,类型
SOCKET
- 参数二,接口指针:
_COM_SMARTPTR_TYPEDEF(Range, __uuidof(Range));
RangePtr pRange; //pass pRange
- 论据一,类型
建议:
- 对于接口指针,相应地使用CoMarshalInterThreadInterfaceInStream,
.net - 等效于字节数组的 Marshal.PtrToString* 方法
如果我有一个非托管指针,并且我想将指定数量的字节从该位置传输到 Byte 数组,那么最好的方法是什么?
即什么是 Marshal.PtrToString* 方法的等价物,但目标是 Byte()
谢谢
c++ - COM 服务器可以重新分配 ([in, out] CACLSID * arg) 吗?
使用这样声明的 COM 接口方法:
关于编组,是否允许服务器重新分配计数数组?(我认为是,但我不确定了)
它当前的实现只替换了现有的 ID,但我想实现一个更改(不会破坏合同),可以返回更多项目而不引入新接口。
[编辑]请注意CACLSID已经是一个数组,包含一个计数和一个指针。
java - 什么是序列化?
我开始使用面向对象编程 (OOP),想知道:在 OOP 用语中,序列化的含义是什么?
c# - 从 PInvoked OpenFileDialog (GetOpenFileName) 编组一个非托管的字符串数组
OpenFileDialog 返回一个指向内存的指针,该指针包含一系列以 null 结尾的字符串,后跟 final null 以指示数组的结尾。
这就是我从非托管指针取回 C# 字符串的方式,但我确信必须有一种更安全、更优雅的方式。
c# - 从 C# 调用 C++ dll 函数:结构、字符串和 wchar_t 数组
这是我需要解决的一个简单问题,但它让我觉得我的头发变白了,因为我所有的尝试都返回了同样的错误:
“试图读取或写入受保护的内存。这通常表明其他内存已损坏。”
我有一个用 C++ 编写的示例应用程序,它调用 dll。以下是相关代码:
现在,当我调试 C++ 代码时,它会做正确的事情——将一些 Unicode 数据写入数据结构。
这是我尝试在 C# 中做同样的事情
我的猜测是我没有正确编组 RECO_DATA 结构,因为 convertHKID_Name 函数写入的正是这个结构。但是我应该如何解决它?
json - 与 GWT 一起使用的 Json <-> Java 序列化
我正在寻找一个可以与 GWT 一起使用的 Java的简单Json (de)serializer。我搜索了一下,发现一些解决方案要么需要注释每个成员,要么定义无用的接口。挺无聊的。为什么我们没有一些非常简单的东西
.net - 如何将 C++ 项目转换/调用到/从.Net?
我目前有一个巨大的项目,我最近从 VC6 转换到 2005。现在我真的很想为一些功能创建一个新的前端,但是程序的主要逻辑是基于 c++ 的。代码库也围绕它自己的元类型和定制类展开。
我能想出的最佳解决方案是从 C++ 项目 dll 中调用函数。然而,这导致了巨大的数据编组投资,其中数据跨越了 c++ 和 c# 之间的边界。我想知道是否还有其他选择(完全重写不是一种选择)。
谢谢丰富
c# - C#格式化外部Dll函数参数
我还没有找到关于这个主题的好参考。对于这个例子,我们将使用一些我试图移植到 C# 的 C++ 代码。
在 C++ 领域,我们有以下外部库函数原型:
并在其中使用如下:
现在我正在尝试将第一行移植到 C# 中,但这里没有明确的路径。
这是我到目前为止所得到的:
现在的问题是:有没有好的指南告诉我“PSTR pPathFile”应该是“[MarshalAs(UnmanagedType.LPStr)] string pPathFile”......假设这是正确的?
或者,指向“PMAPPING”结构的指针变成“out IntPtr pMapping”......假设这是正确的?
对这个人有什么帮助吗?