AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

eine DLL zwangsweise beenden

Ein Thema von Pro_RJ · begonnen am 12. Feb 2009
Antwort Antwort
Pro_RJ

Registriert seit: 16. Apr 2008
146 Beiträge
 
#1

eine DLL zwangsweise beenden

  Alt 12. Feb 2009, 20:07
Guten abend zusammen,

Ich hab da ein "kleines" Problem mit dem Zwangsweisen beenden einer DLL.
Es geht um folgendes,
Ich habe von eine externe Dll von der ich leider den Quelltext nicht habe.
In dieser Dll wird ein eigener Thread erzeugt --> dieser Thread erzeugt ein Kommunikationsobject welches via ISDN eine Telefonverbindung aufbaut.Bei der Abwahl der Verbindung beleibt dieser Threat allerding ab und zu stehen und macht nichts mehr.Aber wie gesagt, an die Programmteile der dll komme ich leider nicht ran

In meinem Hauptprogramm erzeuge ich einen eigenen Thread welcher diese Dll aufruft. Das problem ist, das dieser Thread auch stehen bleibt, wenn die Dll stehen bleibt.
Die Frage ist, wie kann ich diesen Thread beenden so das auch das Kommunikationsobject und die DLL freigegeben werden.

der Aufruf der Dll sieht in etwar so aus:

Delphi-Quellcode:
Dll := LoadLibrary(PChar(DllPfad));
Proc := GetProcAddress(Dll,'ProcName' );
Ergebniss := Proc(Param1,0);
FreeLibrary(DLL);
Ich kann zwar per "FreeLibrary(DLL)" Die Adresse der Dll verwerfen und mein erzeugten Thread per "terminateThread(Th.Handle,0);" Beenden und dieser ist dann laut TaskManager auch verschwunden nur bleibt das von der DLL erzeugte Objekt incl ISDN-Verbindung weiterhin aktiv, und das Modem "gesperrt", so das ich über dieses Modem keine neue Verbindung aufbauen kann.

Die ISDN-Verbindung wird mittels ModemName aufgebaut(bsp.: "AVM-ISDN(X75)" ). Die Frage ist, wie kann ich das Object und die Verbindung zwangsweise beenden und das Modem wieder so Initialisieren, das es wieder eine neue Verbindung aufbauen kann.
Wenn ich das Programm via Taskmanager beende wird das Object und die Verbindung wieder frei, nur diese Art der Lösung finde ich extrem unsauber.

Danke schonmal im vorraus.
Jens
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz