ListBox->AddObject



  • Hi,

    ich möchte gerne einige Einträge in einer ListBox speichern und diese mit einem Object versehen. In meinem Falle soll dies nur eine Variable des Typs double sein:

    String text = "Ich will hier rein";
    double value = 0.3456;
    
    ListBox1->Items->AddObject(text, value);
    // ListBox1->Items->AddObject(text, (TObject*)value);
    // ListBox1->Items->AddObject(text, (double*)value);
    

    Leider geht keines meiner Beispiele. Es kann doch nicht so schwer sein ein double Wert da mit ranzuhängen?

    Wie muss ich meinen Code ändern und mit welcher Funktion kann ich später die double Wert wieder auslesen?

    Hummel



  • ??? 😕 ???
    Du willst also nur einen String und ein Double-Wert in die ListBox einfügen?
    Warum nutzt Du nicht Items->Add()?



  • Hallo

    Wenn du einen Interger hättest, würde das so einfach gehen.
    Aber double ist ein Datentyp, der unter 32-bit Windows 64-bit groß ist. Damit kannst du nicht einfach den Compiler zwingen, den Wert eines double als 32-bit Adresse anzusehen.

    In dem Fall must du schon ein proxy-Klasse definioeren, das als Member einen double aufnimmt. Und diese must du selber anlegen und nach Gebrauch wieder löschen.

    /Edit : nein AddObject ist schon inOrdnung, um dem Text des Items noch einen eigenen, beliebigen Wert zum Identifizieren/Verarbeiten mitzugeben.

    bis bald
    akari


Anmelden zum Antworten