Werteübergabe in combo box



  • Hallo,
    ich habe ein kleines problem mit der wertübergbe von einer unit in die nächste.
    und zwar soll bei betätigen eines buttions in einer unit eine sich inkrementierende zahl in einer combobox hinzugefügt werden.
    das problem ist, das ich zeitgleich mit der wertübergabe in einer globalen variablen ein ereigniss auslösen muss, das die zahl der combobox hinzufügt. wie mach ich das am besten? über einen Timer? oder über eine flag die beim button drücken mitübergeben wird?das habe ich nähmlich versucht,leidr fehlanzeige.
    Und kann ich auch irgendwie zeiger in verschiedene units übergeben? wo deklariere ich sie dann?(wenn ich anstelle der globalen var. einen zeiger einsetze bekomme ich fehlermeldungen:Access Violation)

    vielen dank für eure hilfe
    Dave



  • Hallo

    ich verstehe zwar nicht, was du willst, aber
    1. Vermeide Globale Variablen. Soetwas sollte man durch Funktionen und Rückgabewerte erledigen.
    2. Wenn du wirklich soetwas machen willst, schau dich mal im Forum nach den Schlüsselwörten extern und static um.

    bis bald
    akari



  • Entschuldige, die frage ist verwirend gestellt. einfacher formuliert:
    wenn ich in einer unit einen variablenwert erzeuge sollte dieser wert in einer
    andern unit zu einer combobox hinzugefügt werden. Ich habe es zwar geschafft den Variablenwert zu übergeben, aber in der comboBox erscheint dieser neueintrag nicht. warum?
    Ich muss der cB wohl irgendwie sagen das bei erzeugen des varablenwerts diesen über Add->Item auch ausgibt, aber wie?



  • Hallo

    suchst du das?

    AnsiString Text = "Hallo";
    int NewIndex;
    NewIndex = ComboBox1->Items->Add(Test); // Wert wird gesetzt
    ComboBox1->ItemIndex = NewIndex; // Wert auswählen
    

    bis bald
    akari



  • Hallo
    nein, das meinte ich nicht, zumindest funktioniert das so auch nicht.
    Ich habe jetzt ein lösung mit einem timer hinbekommen, das funktioniert zwar, ist glaube ich aber nicht die beste lösung. Anhand des codes sieht man vieleicht besser was ich brauche

    //main unit
    extern int anl_nr;
    extern bool anlegen;
    
    if(anlegen==true)
      {
        ComboBox1->Items->Add(anl_nr);
        anlegen = 0;
      }
    
    //2 Unit: on button click 
    {
    anl_nr = anl_nr+1;       //diese Zahl soll in der comboBox zeitgleich generiert 
    anlegen = true;          //werden   
    }
    

    Das problem ist wenn ich 2 mal schnell hintereinander auf mein button anlegen klicke zählt er in der comboBox gleich 2 weiter, außerdem verschwende ich resourcen wenn ich mit dem timer immer meine variablen abfrage. gibt es eine ander möglichkeit?



  • Hallo

    alles was du brauchst, ist ein Zugriff von Unit auf Main, um die ComboBox direkt zu benutzen. Schau in die FAQ, da findest du unter Forms, Variablenübergabe diesen Thread :
    http://www.c-plusplus.net/forum/viewtopic.php?t=39242
    Dann kanmst du dir auch die externe Variable sparen.

    bis bald
    akari


Anmelden zum Antworten