Announcement

Collapse
No announcement yet.

Speicherverlust durch sizeof?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Speicherverlust durch sizeof?

    Hallo!
    Ich habe folgende Frage. Ich habe in einer Struktur eine Variable vom Typ string.
    z.B.:

    TTest = record
    V1 : integer;
    V2 : string;
    end;

    Was geschieht nun wenn ich eine Variable von diesem Typ anlege und diese mit fillchar initalisiere.

    z.B. :

    var Test : TTest;

    ...

    fillchar(Test, sizeof(Test), 0);

    Entsteht hier ein Speicherleck? Wie sollte man große Strukturen initalisieren bzw. leeren wenn man nicht jede Variabel der Struktur einzeln initalisieren will?

    Vielen Dank für jede Antwort!

    mfg Thomas

  • #2
    Das dürfte nicht tun. String ist dynamisch, dass heißt, in Deinem Record sollten nur die Pointer auf den String zu finden sein.<p>
    Was hast Du vor? Eine Idee wäre die Umstellung auf ShortString, bzw. String[255];<p>
    Schöne Grüße, Mario Noac
    Schöne Grüße, Mario

    Comment


    • #3
      Hallo!
      Danke für die schnelle Antwort. Wird der Speicher der hierbei seinen Zeiger verliert vom System (Memory Manager) wieder freigegeben?

      mfg Thoma

      Comment


      • #4
        Kann ich mir kaum vorstellen, aber wozu auch?<p>
        Schöne Grüße, Mario Noac
        Schöne Grüße, Mario

        Comment


        • #5
          Nur aus interesse.

          mfg Thoma

          Comment

          Working...
          X