Es steht doch eindeutig in der Hilfe?
Zitat:
Dispose gibt den Speicher frei, der für eine Zeigervariable mit System.New zugewiesen wurde. Verwenden Sie für einen Zeiger, der mit System.GetMem zugewiesen wurde, System.FreeMem, um den zugewiesenen Speicher freizugeben. Nach dem Aufruf von Dispose oder FreeMem ist der Wert des übergebenen Zeigers undefiniert.
New -> Dispose
GetMem -> FreeMem
GetMemory -> FreeMemory
StrAlloc bzw. StrNew -> StrDispose
Zitat:
Wenn ich zum Beispiel Delphi verwende, dann kann ich zwar PChar verwenden, das ja default mäßig auf Byte mätscht unter
Nein, das wurde doch bereits mehrfach gesagt.
seit Delphi 2009 ist PChar = PWideChar ... standardmäßig
PChar ist nunmal ein dynamischer/generischer Typ, welcher sich ändern kann, abhängig vom Compiler.
So, wie ursprünglich Integer (im Delphi 1 noch Int16 und dann Int32) ... nur für 64 Bit hatten sich Intel/Microsoft/Andere entschieden den Integer einzufrieren und einen neuen Typen zu erfinden ... im Delphi nennt er sich
NativeInt, welcher jetzt Int32 oder Int64 sein kann, bzw. NativeUInt für Cardinal.