wulfskin hat folgendes geschrieben: |
Ist es möglich Werte innerhalb der DLL zwischenzuspeichern? Zum Beispiel dass ist mit einer Prozedure einen Wert auf 1 setze und diesen Wert mit einer anderen Funktion wieder auslesen kann? Funktioniert das einfach über globale Variablen oder muss ich da mehr beachten? |
Das kannst du mit globalen Variablen machen. Du musst nur beachten, das wenn deine DLL's auch von anderen Programmieren benutzt werden, das diese vielleicht mit mehreren Threads auf die Variable zugreifen. Also musst du dann deine DLL Thread-safe machen.
Außerdem musst du bedenken, das diese Werte nicht prozessübergreifend sind. Du kannst also nicht mit ProgrammA einen Wert setzen und diesen dann mit ProgrammB auslesen. Dafür müsstest du dann Techniken wie MMF einsetzen.
Zitat: |
Wenn ich in Funktionen Strings zurückgeben möchte, dann benötige ich ja die Delphi Bibliothek. Diese möchte ich aber nicht verwenden, also möchte ich mit PChars arbeiten. Kann mir da jemand ein kurzes Beispiel für geben oder gibt es da bessere Lösungen? |
Ich habe meine besten Erfahrungen mit WideStrings gemacht. Probieren geht über studieren. Hier solltest du selber mal alles mögliche testen um die Grenzen von Strings kennenzulernen.
.