Delphi-Quellcode:
Function GetModuleBaseAddress(dwProcID: Dword; szModule: PChar): LongWord;
Function GetProcessOf(exename: PChar; var process: PROCESSENTRY32): LongBool;
PS: C++ kennt die delphieigenen dynamischen Arrays nicht, also kann "array of" niemals stimmen.
Dieses geht auch, da der String Intern teilweise wie ein PChar aussieht.
Function GetProcessOf(const exename: String; var process: PROCESSENTRY32): LongBool;
Bei GetModuleBaseAddress geht es aber nicht, da der "String" dort ein ausgabeparameter ist.
Und weil PChar praktisch nur eine Teilmenge des Strings ist.
Also String > PChar geht, aber PChar > String nicht, wenn man die Schnittstelle nicht änder will/darf.