Announcement

Collapse
No announcement yet.

TStringList *SL = new TStringList();

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

  • TStringList *SL = new TStringList();

    Folgendes Problem:

    Leider kann man ja eine Stringliste nur mit "new" bilden wegen der VCL. Dieser Umstand macht mich schier wahnsinnig, weil ich nun schon seit Tagen probiere eine Lösung für mein Problem zu finden.

    Wenn ich nun folgendes Konstrukt habe, wie im Titel dieser Diskussion und ich möchte jetzt "SL" in 2 verschiedenen .cpp-Files verwenden, was muß ich dann tun um das zu erreichen?

    Vielen Dank für eure Hilfe

    Gruß Roman

  • #2
    Hallo Roman,

    Du mußt in einer von beiden .CPP Dateien genutzten Headerdatei schreiben:

    extern TStringList *SL;

    Wenn es keine solche Datei gibt, dann kannst Du das notfalls auch in die CPP Datei schreiben, in der SL unbekannt ist.

    Gruß - Günthe
    Günther

    Comment


    • #3
      Ich hab ja wirklich viel ausprobiert. Selbst das mit extern, nur habe ich es nie hinbekommen. Danke für deine Hilfe. Jetzt funktionierts super.

      Eine kleine Frage hätte ich noch. Wenn ich

      TStringList *SL = new TStringList();

      definiere, muß ich dann SL nicht oder doch "deleten". Ich nehme an, daß die Definition, außerhalb jeglicher Funktion gemacht wird, dann frage ich mich ob bzw. wie man da mit dem delete umgehen muß.

      Gruß Roma

      Comment


      • #4
        Hallo Roman, ich würde mal sagen, der Speicher wird beim Beenden des Programms wieder freigegeben.

        Du kannst ja mal einen Button einbauen, in OnClick schreibst Du:

        if(SL==NULL) SL = new TStringList();
        else
        {
        delete SL;
        SL=NULL;
        }

        Und dann mußt Du mal sehen, was passiert. Wenn dabei alles abstürzt, weißt Du ja Bescheid.

        Gruß - Günthe
        Günther

        Comment


        • #5
          Hallo Günther,

          auf dich ist wirklich verlaß. Alles funktioniert super, nichts stürzt ab, d. h., ich muß nichts deleten.

          Gruß Roma

          Comment

          Working...
          X