问题标签 [com-interface]
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.
vba - 从 VBA 访问串行端口的最佳方法是什么?
从 VBA 访问串行端口的最佳方法是什么?
我需要我们的一些销售代表能够从 PowerPoint 中的操作按钮通过串行端口发送一个简单的字符串。我不常用 VBA,尤其是像这样的东西。通常我会把它变成某种应用程序,但我实际上并不认为这个想法是那么糟糕。这将是他们在投影仪上演示此设备并与其他销售人员和非技术人员交谈时的便捷工具。此外,这个销售人员对 VBA 或 PowerPoint 演示文稿进行小的修改也没有问题,但在重新编译 .NET 应用程序时就不行了。
我知道我们可以通过从动作演示文稿中运行的批处理文件来做到这一点,但这并不让我很高兴。我想我们可能可以访问一个 COM 对象并从那里运行,但我对在 VBA 中使用的最新和最好的库并不真正了解,而且快速了解如何轻松打开它也很不错,发送并关闭连接。
由于这将需要在多人的计算机上运行,因此如果它可以轻松地传输到其他机器上会很好。我应该可以说它必须在 Office 2007 和 Windows XP 上运行。不过,与其他任何东西的兼容性将是一个不错的奖励。
我应该如何处理这个?有什么好的提示或技巧吗?图书馆推荐?
c# - C# 部分类和 COM 接口
我正在创建一个 C# 库并将向它公开一个 COM 接口。
我了解执行此操作所需的步骤,即
- 确保分配了 GUID,例如:
[assembly: Guid("dde7717b-2b75-4972-a4eb-b3d040c0a182")]
- 确保 COMVibile 属性为 True
- 在类上放置一个 GUID 属性,例如
[GuidAttribute("4df74b15-d531-4217-af7e-56972e393904")]
- 使用 Regasm 注册。
我的问题是这个。如果我定义了部分类。我需要添加GuidAttribute
到这两个类吗?
事实上,考虑到这一点,我猜这个问题适用于任何属性(例如Serializable
)。
任何帮助,将不胜感激。谢谢。
.net - COM 互操作接口转换
按照这篇文章,我已经成功地将 C++ COM 类/接口声明翻译成 C#,如下所示:
我这样使用它:
Foo
我的问题是,考虑到它没有实现IFoo
(即使在运行时typeof(Foo).GetInterfaces()
是空的)并且禁止用户定义的接口转换,这怎么可能工作?
这是为 COM 保留的一些特殊处理吗?C# 规范对此有何评论?
c# - COM 协同对象和接口 C#
我对此完全陌生,正在关注 msdn 上的教程:http: //msdn.microsoft.com/en-us/library/aa645736 (v=vs.71).aspx#vcwlkcominteroppart1cclienttutorialanchor2
我的问题是为什么我们使用 COM 接口和COM CoClasses?实例化 COM CoClass 的实例似乎很奇怪,实例化一个新对象,它是旧对象但被转换为 COM 接口。
我真的只是想掌握这里的意识形态......任何帮助都是有用的。
c# - MATLAB .NET 程序集(未定义函数或变量“前馈网络”)
我正在尝试将MATLAB 2010b 与 Visual Studio 2008 Professional 集成。
我有以下 MATLAB 方法。
这就是我创建要在 Visual Studio 中导入的 DLL 文件的方式:
因此,当我使用MATLAB Engine 的 COM接口从 C# 在 MATLAB 中运行例程时,一切都运行良好:
但是当我使用 .NET 程序集时,它无法识别“前馈网络”。net(data_inputNN)
我曾经在第 86 行 ( )上遇到错误。所以我添加了一行来测试它是否至少能识别'feedforwardnet',但它没有。
注意:我正在从一个文件中加载一些变量,包括“net”,它是一个神经网络(load(args.workspacePath, '-regexp', '.*');
)
同样在 MATLAB 方法中,如果我从文件中加载保存的“网络”,然后将其保存以查看它如何处理网络,它会将其保存为“结构”而不是“网络”。
我假设它首先将其作为结构加载。
我在 MATLAB 2009b 本身也遇到了这个问题。这就是我现在使用 MATLAB 2010b 的原因,因为显然 MATLAB 2009b 没有这个特定的神经网络工具箱。
以下是使用 .NET 程序集的 C# 代码。
我在 Visual Studio 中收到此错误:
注意:我的编译器和软件的版本:
编译器:Microsoft Visual C++ 2008 SP1 中C:\Program Files (x86)\Microsoft Visual Studio 9.0
MATLAB:R2010b(64 位)
Visual Studio:MVS 2008 专业版(.NET Framework 3.5 SP1)
微软视窗 SDK 6.1
最近更新:
我在mcc中添加了神经网络工具箱的路径。
现在我收到这些消息mccExcludeFiles.log
:
C:\Program Files\MATLAB\R2010b\toolbox\nnet\nnet\@network\network.m
由 C:\Program Files\MATLAB\R2010b\toolbox\nnet\nnet\nnnetwork\cascadeforwardnet.m 调用(由于工具箱编译规则)
C:\Program Files\MATLAB\R2010b\toolbox\nnet\nnet\@network\network.m
由 C:\Program Files\MATLAB\R2010b\toolbox\nnet\nnet\nnnetwork\feedforwardnet.m 调用(由于工具箱编译规则)
excel - 如何使用 Excel 设置 COM 服务器接口?
版本
Excel 2003
Windows XP
SimaPro 7.3.0 开发者版本
使用工作计算机,但在这台机器上被设置为管理员
Excel/VBA 中引用的库:Visual Basic for Applications;Microsoft Excel 11.0 对象库;OLE 自动化;Microsoft Office 11.0 对象库;Microsoft Forms 2.0 对象库;COM+ 1.0 管理类型库;COM MakeCab 1.0 类型库;COM+ 服务类型库;SimaPro Library
Me:初学者
我正在尝试做 的我正在使用一个名为 SimaPro 的程序,它存储“生命周期分析”信息的数据库。该程序具有内置的 COM 接口功能。该程序声明它确实支持 Excel/VBA(但它没有指定版本)。
我正在尝试将此程序和/或 COM 服务器连接到 excel,以便我可以通过 excel 与信息进行交互。
我所做
的我已经完成了他们列出的程序: -
打开 SimaPro
-注册 COM 服务器
-然后
我将以下代码粘贴到 VBA 中并尝试运行它。这段代码是软件公司提供的示例代码,我只编辑了SP.Server、SP.Alias、SP.Login和SP.OpenProject这几个字段(下面是编辑的)。
发生了什么
运行时错误:'-2147418113 (8000ffff)':
自动化错误
灾难性故障
问题 -
服务器名称正确吗?我已经在 COM 服务器上阅读了一些内容,但我不知道我放入它的方式是否是正确的“形式”
——它可能与某些已注册/未注册的 DLL 有关吗?我曾与公司的 IT 人员和软件程序员一起工作过。他们中没有一个人对 COM 非常熟悉,但有人认为 DLL 可能是问题所在。
谢谢你的帮助!!
这是我输入的代码:
c# - p/invoke 操作以执行另一个函数结束
不知道为什么会这样,但是当我执行我的 c# 函数之一时,它可以由以下 c# 接口定义:
和 C++ 接口:
我被重定向到由“先前”接口声明的另一个函数。例如,当我尝试执行以下命令时:config->SetConfig(....)。重定向到(或下一个要执行的命令)的函数由IClosedCaptionsDecoder2的基类实现,称为IClosedCaptionsDecoder。
这个接口的 c++ decleration 是:
所以config->SetConfig()实际上调用了config->xxx(),我猜是函数的offest有问题。
我什至尝试在 c# 端定义整个关系(继承等),但这也不起作用。
我将不胜感激任何帮助。谢谢!
编辑:当我尝试调用 GetConfig() 时,它实际上执行了 SetConfig()。所以我肯定有指针偏移量的问题。每个函数,按 decleration 顺序调用前一个函数,怎么可能?
Edit2:我设法通过将所有功能添加到 IClosedCaptionsDecoder2 接口来解决这种情况。
pdf-generation - com界面中的'Let'是什么意思?
这可能是一个非常愚蠢的问题 - 我是 com-interface 的新手。我无法通过谷歌搜索找到任何信息(“让”这个词太常见了)。
我正在尝试通过 Jacob-library 调用 PDFCreator COM 接口来自动创建 PDF。
我正在阅读PDFCreator 网站上的 API ,并查看:
“让”是什么意思?这些只是拼写错误,应该是“设置”的意思吗?
谢谢你的帮助。
c# - Windows 7 中任务计划程序中的根文件夹错误
我的自定义任务计划程序在 Windows XP 中运行良好,但在 Windows 7 中引发访问被拒绝错误。
原因是 Windows 7 没有将任务存储在C:\Windows\Tasks
. 它将其存储在C:\Windows\System32\Tasks
. 但是我的任务计划程序尝试存储C:\Windows\Tasks
导致错误的任务。
我正在使用ITaskSchedular
和 ITask COM 接口;我想更改 的 RootFolder ITaskSchedular
,但我不能。
我没有管理员权限;这就是它抛出此错误的原因。管理员将能够正确运行我的调度程序。