MdiSubWindow aus dll
Verfasst: 6. Juli 2012 13:04
Hallo,
ich habe eine Qt Applikation mit einem QMdiArea und möchte eine mit VS 2008 geschriebene Dll als SubWindow darstellen.
Folgender Lösungsansatz:
2 Probleme: der Rückgabewert aus der dll ist NULL und an der Stelle mit den Fragezeichen müßte ja irgendwie das Handle aus der dll mit dem QWidget in Verbindung gebracht werden - aber wie?
Ich steh hier vollkommen auf dem Schlauch und weiß nicht mehr weiter, ich hab zwar auch schon viele Beiträge hier aus dem Forum studiert und die Hilfe aber so richtig fündig geworden bin ich nicht. Bis auf QWinWidget, die ich nicht weiß woher und wie sie funktioniert.
Kann mir jemand helfen?
Danke schon mal
Grüsse
Schmökertante
ich habe eine Qt Applikation mit einem QMdiArea und möchte eine mit VS 2008 geschriebene Dll als SubWindow darstellen.
Folgender Lösungsansatz:
Code: Alles auswählen
//##############################################################################
void MainWindow::createChild()
{
typedef HWND (__cdecl *CREATE_WND)(HWND pWnd);
QFile file("Mdi_0001.dll");
if(file.exists())
{
QLibrary myLib("Mdi_0001");
if(myLib.isLibrary("Mdi_0001.dll"))
{
if(myLib.load())
{
if(myLib.isLoaded())
{
CREATE_WND cWnd = (CREATE_WND)myLib.resolve("CreateWnd");
if(cWnd)
{
HWND hwnd = cWnd((HWND)this->winId ());
QWidget *widget = new QWidget;
??????????????????????????
QMdiSubWindow *subWindow = new QMdiSubWindow;
subWindow->setWidget(widget);
mdiArea->addSubWindow(subWindow);
}
}
}
}
}
}
Ich steh hier vollkommen auf dem Schlauch und weiß nicht mehr weiter, ich hab zwar auch schon viele Beiträge hier aus dem Forum studiert und die Hilfe aber so richtig fündig geworden bin ich nicht. Bis auf QWinWidget, die ich nicht weiß woher und wie sie funktioniert.
Kann mir jemand helfen?
Danke schon mal
Grüsse
Schmökertante