Frage zur TStringList



  • @junix: Abschreiber :p



  • Gott bin ich blöd... Hab' ich die ganze Zeit übersehen...
    Vielen dank für die Hilfe. Ich hab' ncoh ne Frage: Ich hab 2 Formulare. In dem einen hab ich eine TStringList. Wenn ich von dem anderen aus auf sie zugreifen will, krieg ich immer ne Exception: EAccesViolation. Kann mir jemand bei dem Problem helfen?



  • zeig doch mal ein wenig Code z.b. die Stelle wo du auf die andere zugreifst.

    mfg
    Steffen

    PS: schon debuggt und geschaut, wo genau der fehler auftritt?



  • Als ich das vorhin angeklickt hab, hatte ich nen anderen Beitrag auf dem Bildschirm... Na Ja...

    Die Stelle:

    PZA->SaveToFile (SaveTo1->Directory + DName1->Text + ".eld");

    PZA ist die Liste, SaveTo1 ist eine DirectoryListBox, DName1 ist 'ne Edit.



  • Ja, hab ich auch (PS);



  • Kann mir keiner helfen??? 😉 😉 😉 😉



  • Hast du schon mal daran gedacht, ein Backslash einzubauen??

    PZA->SaveToFile (SaveTo1->Directory + "\\" + DName1->Text + ".eld");
                                             ^^
    

    ????????????????????????????????????????????????????????????????????????????????



  • @c++user2002:

    Du musst in der Quellcodedatei von der aus du auf die andere zugreifst
    ein '#include "Form2.cpp"' drinstehen haben.
    Dann kannst du per Form2->StringListe->Strings[9] oder auch anders zugreifen!

    😉



  • Jetzt sagt er immer: include files nested too deep...



  • Das funktioniert so auch nicht...
    Ich hab' jetzt in der Daatei, in der die stringliste nicht gemacht wird, das include hinzugefügt... ist das richtig?



  • Mist... Hab ganz vergessen zu sagen, dass ich c++user2000 bin.....
    Aber jetzt wisst ihr's...



  • hi,

    Die Stelle:

    PZA->SaveToFile (SaveTo1->Directory + DName1->Text + ".eld");

    kannst du denn auch noch sagen, was sich auf welchem Form befindet?

    Überprüfe:

    • Ist das zweite Form im ersten includiert?
    • du must dem natürlich dem ersten Formular sagen, dass die StringList im zweiten Form ist (siehe MaxiMo` letzte Antwort

    Zur Not schickste mir den Code (.cpp und .h) per Mail, aber schau erst nochmal selbst.

    mfg
    Steffen



  • @skho
    Welche Datei den includieren??? .cpp oder .h ???

    Ich hab ein Form1 und ein Form2. In Form2 will ich die Liste aus Form1 ansprechen...

    (zur verdeutlichung der Lage...)

    [ Dieser Beitrag wurde am 14.01.2003 um 13:56 Uhr von aaaabyx editiert. ]



  • jetzt muss ich doch nochmal nachhaken,

    Also ich hab das jetzt so verstanden:

    • Form1 (dort soll irgendwo z.B. ein MemoInhalt in eine StringListe geladen werden)
    • Form2 (hier hast du Beispielsweise einen SaveDialog und einen Button), durch ButtonKlick möchtest du das MemoInhalt aus deiner StringListe speichern

    hab ich das so richtig verstanden, wenn ja, dann hast du meiner Meinung nach einen Denkfehler. Oder ich :-))

    Denn eine TStringList ist eine dynamische Sache, dass heißt du legst sie dort an wo du sie brauchst... und gibst den Speicher auch anschließend wieder frei. Das heißt das du im Form1 zwar eine TStringList anlegen kannst, diese aber gleich verarbeiten musst. Vom Form2 aus kommst du da nicht ran.

    Wenn das was ich so verstanden habe (s.o.) richtig ist, dann musst du die StringListe beim ButtonKlick des Form2 erst erstellen und von dort aus auf das Memo in Form1 zugreifen, Form1->Memo1->Lines ... etc.
    dann funktioniert das (natürlich die .h von Form1 in die Form2 Unit2.cpp includieren - möglicherweise auch umgekehrt, wenn du aus Form1 das Form2 ansprechen willst)

    mfg Steffen



  • Okay, danke... werd' ich gleich mal ausprobieren. Der plan ist mir gerade heute auch schon gekommen. Vielen Dank noch mal euch allen für die Mühe. :p :p :p


Anmelden zum Antworten