Einzelnen Beitrag anzeigen

Yarodin

Registriert seit: 6. Mär 2006
1 Beiträge
 
Delphi 2006 Enterprise
 
#1

Crash bei IdTCPClient-Aufruf in DLL

  Alt 7. Mär 2006, 09:42
Hallo.

Ich habe folgendes Problem: Ich verwende als Protokollschicht eine Klasse mit einem TidTCPClient-Member.
Ich möchte diese Klasse zur Kommunikation mit dem Server in eine DLL auslagern. D.h. ich habe 2 Funktionen, die ich exportiere und die jeweils lokal eine Instanz der Klasse verwenden, d.h. die gesamte Kommunikation - vom Connect über mehrere Read/Write zum Disconnect - läuft lokal in einer Funktion.

Diese Funktionen werden per Timer regelmäßig aufgerufen (Nachrichten abholen). Mein Problem: Der erste Aufruf der Abholfunktion läuft fehlerfrei. Beim zweiten Aufruf bekomme ich eine Zugriffsverletzung beim Aufruf von TcpClient.IOHandler.Readln; - wobei der vorherige Connect funktioniert und auch per writeln eine Nachricht an den Server geschickt werden kann. Nur das Lesen der Antwort endet in einen Zugriffsfehler, Fehler beim Schreiben an Adresse xxx.

Interessanterweise funktioniert alles, solange die Funktionen im Programm (d.h. in einer normalen Unit) stehen. Nur wenn ich sie über LoadLibrary und GetProcAddress aus der DLL lade, geht der zweite Aufruf daneben.

Kann mir da irgendeiner helfen?
  Mit Zitat antworten Zitat