![]() |
AW: ReadProcessMemory -> Problem
Es kommt eine Exception, aber anders als gedacht ;)
Die Procedere gibt ein PChar zurück und genau der Speicher auf den der Rückgabewert zeigt wird noch in der Procedere selber freigegeben
Delphi-Quellcode:
Das muss doch knallen
Result := P;
{...} FreeMem( P ); |
AW: ReadProcessMemory -> Problem
Zitat:
[edit] Joar, und dann noch das FreeMem. |
AW: ReadProcessMemory -> Problem
Zitat:
|
AW: ReadProcessMemory -> Problem
Zitat:
Delphi-Quellcode:
Function ReadMemory: PChar;
begin try GetMem(p, SizeOf(P)); ReadProcessMemory(WindowHandle, Ptr($01324480), @P, SizeOf(P), write); // so result zeigt jetzt auf die gleiche Adresse wie P Result := P; finally // Jetzt wird der Speicher an der Adresse P freigegeben // Wir erinnern uns, diese Adresse ist auch in Result gespeichert // Was können wir an dieser Adresse jetzt noch erwarten? // Richtig: Datenmüll FreeMem(P); CloseHandle(WindowHandle); end; begin OpenMemory; Writeln(ReadMemory); //--> geht nicht, logisch, weil unter Rückgabeadresse nix ist Readln; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz