Fenster in DLL



  • Habe in einer DLL eine Form aufgenommen und ein Fenster erzeugt. Das Anlegen und zertören des Fensters erfolgt in DllEntryPoint:

    int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
    {
    switch (reason)
    {
    case DLL_PROCESS_ATTACH:
    myview=new TView(0);
    break;
    case DLL_THREAD_ATTACH:
    break;
    case DLL_THREAD_DETACH:
    break;
    case DLL_PROCESS_DETACH:
    delete myview;
    break;
    }
    return true;

    Die Anzeige des Fenster erolgt dann in einer Methode einer Klasse:

    void GLogFile::ShowLog()
    {
    .....
    myview->Memo1->Lines->Clear();
    myview->Memo1->Lines->LoadFromFile(fname);
    myview->Show();
    }Zeige ich das Fenster mit myview->ShowModal() an, funktioniert alles

    bestens. Benutze ich aber wie o.a. ->Show() kommt es bei einigen

    Anwendungen zu Exceptions beim Beenden der Anwendung

    (Zugriffsverletzung beim lesen von Adresse...). Vermutlich ist die DLL schon

    entladen und das aufrufende Programm will noch was tun? Der Fehler tritt

    nur beim Beenden der Anwendung auf und - weils ja Spass machen soll -

    nicht bei allen Anwendungen. Das CPU Fenster zeigt, dass die Exceptionin

    der aufrufenden Anwendung im Dispatch-Aufruf geworfen wird.

    Hat jemand eine Idee, wieso warum, weshalb

    Danke

    Christian



  • Hat sich erledigt. Fehler tritt nur in der IDE auf-> Standalone nicht


Anmelden zum Antworten