Einzelnen Beitrag anzeigen

Rainer Wolff

Registriert seit: 25. Okt 2005
Ort: Bretten
318 Beiträge
 
Delphi 10.4 Sydney
 
#1

Fehler mit externer DLL, Callback-Funktionen.

  Alt 8. Dez 2021, 08:30
Delphi-Version: 10.4 Sydney
Hallo,

seit etlichen Tagen kämpfe ich mit einer externen Kommunikations-DLL.

Es handelt sich um eine DLL zur OPC-UA Kommunikation (SPS), das Projekt open62541. Die DLL ist in C geschrieben, ich habe einen eigenen Pascal-Wrapper drum herum gebaut. Es gibt Lese- und Schreibbefehle, und auch einige Callback-Funktionen für Verbindungsstatus und Wertänderungen aus der SPS heraus

Grundfunktionen laufen, Daten lesen, schreiben, Wertänderungen etc. Etliche Testprogramme, die einzelne Funktionen testen, laufen über einen längeren Zeitraum.

Sobald ich aber das ganze in meinem Gesamtprojekt integriere, erhalte ich nach einigen Durchläufen unerklärliche Kommunikationabbrüche bzw. Fehlermeldungen.
z.B. wird ein Schreibbefehl in die DLL während des Aufrufs durch ein Callback der Wertänderung eines anderen Feldes unterbrochen und kehrt nie mehr zurück.
An anderer Stelle wurde eine Funktion beim Aufruf der DLL rekursiv wieder aufgerufen.

Meine Vermutung geht ja dahin, daß ich irgendwo im Wrapper noch Fehler habe, so daß irgendwelche Speicherinhalte willkürlich verändert werden.

Wer kann mir vielleicht Tipps und Hinweise für Tools geben, um diese Fehler einzugrenzen.
  Mit Zitat antworten Zitat