Forum: Object-Pascal / Delphi-Language
by bernhard_LA,
23. Jun 2018
was entspricht dann PAnsiChar , wenn ich AnsiChar durch TBytes ersetze ?
Code beispiel
type
TReadBuffer = record
BufferBytes: array of Byte;
Forum: Object-Pascal / Delphi-Language
by bernhard_LA,
16. Jun 2018
wenn ich Ansistring jetzt durch TBtyes für LINUX ersetzen lässt sich diese Zeile nicht mehr kompilieren
if SaveString <> '' then
FS.Write(Pointer(SaveString)^, Length(SaveString) * SizeOf(AnsiChar));
wie lautet hier die Lösung um unter beiden Plattformen mit einer CodeVariante auszukommen ?
Geht es ohne weitere $Ifdef
Forum: Object-Pascal / Delphi-Language
by bernhard_LA,
14. Jun 2018
@Uwe
also so dann :
{$ifdef MSWINDOWS}
/// AnsiString = AnsiString ... eh schon da
{$endif }
{$ifdef LINUX} type AnsiString = TBytes;
{$endif }
Forum: Object-Pascal / Delphi-Language
by bernhard_LA,
14. Jun 2018
hier weitere Informationen zur Verwendung :
Ansistring wird in einigen DLLs verwendet um Daten von C++ , Matlab und Delphi auszutauschen , im reinen Delphi Kernprogramm in Funktionen wie im Beispiel
FS: TFileStream;
SaveString: Ansistring;
begin
FS := TFileStream.Create(FileName, fmCreate);
Forum: Object-Pascal / Delphi-Language
by bernhard_LA,
13. Jun 2018
type AnsiStringCrossPlatform = {$ifdef MSWINDOWS} ANsistring {$endif } {$ifdef LINUC} RawByteString {$endif }
also muss ich sowas kodiere, gibt's was besseres ?