Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#6

AW: TComPort: Zugriffsverletzung beim Senden eines Strings

  Alt 6. Nov 2011, 17:01
Delphi-Quellcode:
// 1
Str := ':ps ' + '0' + #13;

// 2
Str2 := '0';
Str := ':ps 0' + Str2 + #13;
1: Der Compiler ist so schlau und macht aus den drei Stringkonstanten eine Stringkonstante ... zur Laufzeit wird da nichts mehr gemacht, also bleibt das, von der Speicherverwalung her, eine Konstande

2: Da werden Strings verbunden, also entsteht eine eine neue Variable.

Das Write schrottet jetzt irgendwie den Speicher, was bei der Konstante wohl keine großen Auswirkungen zeigt,
da bei Freigabe des Variablenzeigers kein Eingriff des Speichermanagements eintritt.
Aber bei der Variable wird das Speichermanagement so geschrottet, daß es danach in einem Fehler endet.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 6. Nov 2011 um 17:06 Uhr)
  Mit Zitat antworten Zitat