Hey, genau das Problem hatte ich auch mit open62541.
Da hat ständig irgendwas nicht gepasst, unerklärliche Speicherfehler obwohl das Pascal-Wrapping definitiv richtig war. Dann mal einen FreePascal-Compiler probiert, mit dem lief es viel besser. Aber auch nur bis zu einem bestimmten Grad, dann war wieder Sense.
Seit ca. einem Jahr haben wir nun open62541 fest in unserer Anwendung drin und es läuft sehr gut. Aber nicht mehr mit Delphi. Wir haben es mit C++ umgesetzt. Es ist ein separater Prozess, die Kommunikation mit der Delphi-Anwendung läuft über http/REST. Funktioniert fantastisch und war im Endeffekt weniger Arbeit als gedacht.
Muss auch nichts kosten, Visual Studio Code und die Gnu-Compiler sind ja alle komplett kostenlos.
PS: Ich sehe jetzt erst, dass du die eigentliche open62541-Logik ja schon in C umgesetzt hast statt Delphi. Und du stattdessen nur ein paar Routinen nach außen exportierst. Wäre trotzdem interessant was und wie, denn das sollte mit open62541 im Endeffekt ja gar nichts mehr zu tun haben.
Trotzdem bleibe ich bei der Empfehlung so etwas vielleicht wirklich als separaten Prozess statt
DLL zu realisieren, hat einfach viel mehr Vorteile und das bisschen Mehr an Ressourcenverbrauch ist völlig unerheblich.