问题标签 [qaxobject]
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++ - 如何使用 QtActive 在单元格中设置值
我正在尝试通过 QtActive 的 QAxObject 将值放入 excel 表中。我成功地拿到了一张工作表。现在为单元格设置值的 win32 API 是
在这里,我得到了“xx”。但是,我不知道如何实现上面的第二行。我将非常感谢阐明这个问题的人。
c++ - 如何使用 Qt 将颜色应用于 Excel 单元格?
我是 Qt 新手。我编写了一个程序来从 excel 文件中读取和写入数据。
现在我需要将颜色应用于特定的单元格。有没有可能实现这一目标?
c++ - QThread 没有启动
抱歉这篇文章的长度。但是我现在被困了两天......
我正在开发一个通过 ActiveX 与硬件设备通信的 Qt 4.6 Windows 应用程序。
当我发送命令时,设备会执行一些操作,完成后(可能需要一分钟)它会发出信号。我需要等待这个信号才能知道一切是否正常(或不正常)并因此采取一些行动。
当用户单击按钮时,命令会发送到设备。显然,我不希望 HMI 冻结。
我确信我必须使用线程。所以我确定了三个线程:
- HMI对应的主线程
- 硬件控制器(在发送命令后锁定并等待信号)
- 一个硬件通知监听器,不断从硬件获取信号并解锁线程 2
这是类图:
还有一个序列图来展示我如何看待事物:
说明:
当用户启动我的应用程序时,HMI 就创建好了。HMI的构造函数调用Worker的构造函数。它构造硬件 QAxObject。然后它构造了HardwareListener,给出了引用:QAxObject、QMutex 和QWaitCondition。然后 Worker 的构造函数将 HardwareListener 对象移动到另一个线程并启动它。最后,HMI的构造函数启动Worker的线程。
然后,当用户单击按钮时,HMI 会向 Worker 发送信号。Worker 向硬件发送一个命令(该命令可能会阻塞线程几秒钟,这就是为什么我需要另一个线程中的 HardwareListener 不要错过信号)。然后 Worker 等待 QWaitCondition(在锁定 QMutex 之后)。
之后,硬件设备向 HardwareListener 发送一个信号,唤醒 QWaitCondition。因此,Worker 线程停止等待并完成其操作。最后,Worker 通知 HMI。
问题:
未创建/启动 Worker 和 HardwareListener 线程。一切都在主线程中完成,所以很明显,它不起作用。我不在线程之间交换任何特殊对象(所以不需要qRegisterMetaType()
)
问题:
我的设计可以接受吗?可能还有其他一些方法可以做,但在我看来这是最直接的(考虑到复杂性)。
编辑:
我更改了代码以删除QThread
继承。我改用这个moveToThread()
方法。
现在线程工作正常。但是我有一个 ActiveX 错误:QAxBase: Error calling IDispatch member NewProject: Unknown error
.
似乎与硬件的接口被破坏了......有什么想法吗?
解决方案:
这是我发现的。
c++ - 在两个线程之间共享 QAxObject?
假设一个对象 A 在线程中运行。它有一个指向 QAxObject 实例和一个对象 B 的指针。对象 B 有一个指向 QAxObject 的指针。
对象 A 创建一个线程并在其中移动对象 B。
对象 B 是否能够与对象 A 共享的 QAxObject 一起工作?
我觉得这不可能。目前,我有这个错误:QAxBase: Error calling IDispatch member NewProject: Unknown error
。
并且线程 A 和线程 B 都不能使用 QAxObject。
有这方面的信息吗?
excel - 如何从 Excel 中获取单元格超链接地址?
要从单元格中读取文本,我使用以下命令:
但是如何从单元格中读取超链接地址?
Qt 5.0.1 Windows 7
c++ - Qt ActiveX data types
I am developing a C++/Qt application that communicates with an ActiveX server. I try to use a function that returns a reference to an array of floats as a parameter. The function prototype is:
My code is:
But unfortunately I have the following error: Type Mismatch in Parameter. Pass an array of type string or real.
After reading this document I also tried QList<QString>&
and QList<float>&
with no success.
The documentation of the ActiveX server says: Use a safearray of strings (VT_BSTR) or reals (VT_R8 for double or VT_R4 for float).
Any idea?
Thanks!
c++ - C++ COM [in, out] 安全数组
我需要在 C++ 中调用一个 COM 函数,该函数返回对SAFEARRAY(BSTR)
.
根据这个文件,它应该是:
但列表元素仍为10.0
.
我错过了什么吗?
编辑
我使用了 Oleview.exe,实际上,该函数如下所示void Frequencies(VARIANT* FrequencyArray);
:
但是 ActiveX 服务器的文档说:Use a safearray of strings (VT_BSTR) or reals (VT_R8 for double or VT_R4 for float)
.
c++ - ActiveQt:激活已经打开的 Word 文档
我正在尝试使用 activeQt 写入打开的 Word 文档。我正在尝试激活我的 word 文档,但我无法让它工作。
我可以很容易地在 VBA 中做到这一点:
但不是在 Qt 中,这是我尝试过的:
Documents() 应该包含所有打开的 Word 文档,但对我来说,由于某种原因它是空的。
qt - QAxObject - 没有以正确的格式创建 excel
我正在使用QAxObject
并能够打开现有文件并读取不同的工作表和单元格。
但是当我使用QAxObject
. 它正在创建test_1.xls
文件。但是当我打开这个文件时,它给了我错误。我正在使用ms-excel-2007
.
代码 : - -
error message
当我尝试打开此文件时:-----
请建议我.xls
以正确格式创建文件所缺少的内容?
c++ - QAxObject Excel 工作表——为整个 Excel 工作表设置默认字体
我可以设置单个单元格的大小和字体。
如何更改default
完整 Excel 表的字体大小和类型?