0
对于所有人来说都是美好的一天,无论谁看到我的问题。 我有一个dll,它是用C++和一些GUI QT项目编写的。调用时DLL函数将在这个周期包:C++ dll和QT GUI之间的通信
for (int offset = 0; offset < filelen; offset += 4)
{
for (int i = 0; i < 4 ; i++)
{
FPGA_Packet.DATA[i] = (program_data[i + offset];
}
if (SOCKET_ERROR == (send(mysocket, (char*)&FPGA_Packet, 8, 0)))
{
error = WSAGetLastError();
return error;
}
}
的问题是,我需要通过进度偏移每次递增,当我打电话“发送”功能。问题是 - 我如何建立GUI和DLL之间的连接?我必须使用插槽和信号,或者我可以用“连接”线程功能解决它,或者有更简单或更难的选择?我需要给DLL指针的形式,或以某种方式使用get/set?我会appretiate任何建议,链接,例子和所有其他帮助。谢谢。
Q_OBJECT必须在dll中添加吗?我必须创建非QT DLL,我试图避免包括QT模块。或者我误解了你,GUI程序中的QObject声明足以使用插槽信号? –
你可以用Q_Object宏创建一个dll封装器。没有这个声明,没有机会使用信号插槽机制 – Dmitry
噢,好吧...我想我只需要添加QT支持到我的dll。试图避免这一点,但如果没有其他选择 - 我必须这样做。感谢您的帮助 –