Entwickler-Ecke
Sonstiges (Delphi) - DLL: Werte zwischenspeichern und Strings zurückgeben
wulfskin - Mo 08.11.04 15:23
Titel: DLL: Werte zwischenspeichern und Strings zurückgeben
Hallo,
bin noch ein ziemlicher Neuling in Sachen DLLs, würde aber gerne welche in meinem neuen Programm verwenden um es später leichter aktualisieren zu können.
Nun haben ich folgende zwei fragen zu DLLs:
- 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?
- 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?
Vielen Dank,
Hans-Peter!
Sprint - Mo 08.11.04 15:39
Titel: Re: DLL: Werte zwischenspeichern und Strings zurückgeben
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.
wulfskin - Mo 08.11.04 17:15
Titel: Re: DLL: Werte zwischenspeichern und Strings zurückgeben
Sprint hat folgendes geschrieben: |
(...) Also musst du dann deine DLL Thread-safe machen. |
Kannst du mir das noch näher erklären?
Ansonsten, vielen, vielen Danke für die Hilfe!
Gruß Hape!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!