Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
40.120 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Daten von C# an Delphi senden

  Alt 2. Jul 2014, 22:37
Ist dieses public string Message; eigentlich ein CharArray (ala ShortString), oder ist das ein Pointer/Objekt?

Außerdem ist das im C# gaantiert kein ShortString, denn als alter Pascal-Typ ist der ShortString intern so aufgebaut:
Delphi-Quellcode:
type
  String[X] = packed record
    Length: Byte;
    Chars: array[1..X] of AnsiChar;
  end;
  ShortString = String[255];
bzw. eigentlich
Delphi-Quellcode:
type
  String[X]: array[0..X] of AnsiChar;
Wobei die Position 0 das Längen-Byte ist, weswegen Pascal-Strings auch mit 1 beginnen/begannen.

LongString's (String, AnsiString/UTF8String/RawByteString und UnicodeString) sind dagegen nochmal anders aufgebaut ... die sind praktisch ein aufgemotztes dynamisches Char-Array.

Und der WideString ist nochmal was Anderes. (Kapselung einer WinAPI)


Und zusätlich kann man alle Zeigertypen für Strings beim WM_COPYDATA vergessen.
Wobei es hier bestimmt bessere Varianten der IPC geben würde, welche auf beiden Seiten nativ unterstützt werden. (Pipes, Sockets, MMFs, ...)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat