MdiSubWindow aus dll

Alles rund um die Programmierung mit Qt
Antworten
schmökertante
Beiträge: 13
Registriert: 5. Oktober 2010 15:09

MdiSubWindow aus dll

Beitrag von schmökertante »

Hallo,
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);
          }
        }
      }
    }
  }
}
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
Antworten