LPSTR zu char*(gelöst)
-
Bei C++ kann man ja bei den meisten WinAPI Funktionen statt LPSTR ein char*
verwenden. Dummerweise soll das Programm aber nicht in C++ sein, sondern in
POW bzw. Oberon-2. Da ist LPSTR ein long int, also die Speicheradresse, von
ARRAY OF CHAR (char*). Mein Problem ist jetzt aus der Speicheraddresse einen
String zu erhalten. Wieso ich das ins WinAPI Forum schreibe? Bei POW hat man
eben nur WinAPI Befehlte zu verfügung.
Zur Not könnte man den Process öffnen und mit ReadProcessMemory jedes einzelne
Byte auslesen, in CHAR umwandeln und daraus eben einen ARRAY zusammensetzten.
Ich bin mir aber sicher, dass es eine viel elegantere Lösung gibt.
-
Gibt's da keine Funktionen zur Konvertierung von Integern in Pointer? Du brauchst einen Pointer auf character, also "POINTER TO CHAR". Guck mal, ob's da nicht eine fertige Typunmwandlung dafuer gibt.
Notfalls musst Du Dir eine eigene Typumwandlung schreiben, wie das geht, steht bestimmt in der Sprachbeschreibung zu Oberon-2.
Ich kenne leider nur UCSD-Pascal, aber da ging's genauso. Weiss nicht, ob es mittlerweile in Oberon sowas wie cast's gibt.
-
Ich hab das Problem gelöst. In der Bibliothek SYSTEM gibt es die GET Prozedur,
die es einem ermöglicht aus dem Pointer(LPSTR is ja Zeiger auf den ARRAY) die
Daten zu erhalten.