Autor Beitrag
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: Mo 08.11.04 15:23 
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:
  1. 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?
  2. 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!

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
Sprint
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 849



BeitragVerfasst: Mo 08.11.04 15:39 
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.

_________________
Ciao, Sprint.
wulfskin Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: Mo 08.11.04 17:15 
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!

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.