Frage zu Warnung



  • Hallo Leute,

    ich bekomme die Warnung:
    [C++ Warnung] Unit_Form_SD601.cpp(694): W8004 'fbW' wurde ein Wert zugewiesen, der nie verwendet wird

    der Codeauszug dazu:

    double fbW = 0;
    fbW=AdvListView_Tests->Items->Item[AdvListView_Tests->ItemIndex]->SubItems->Strings[22].ToDouble();
    Form1->OvcNumericField_Bonemass->AsFloat = fbW;
    

    Ich kann mir die Warnung nicht erklären, da fbW ja in den folgenden 2 Zeilen verwendet wird.
    Vielleicht hat jemand eine Idee. Es ist zwar nur eine Warnung, aber die Liste wird halt unübersichtlich.

    Gruß myerscola



  • Hast du vielleicht irgendwo anders eine Variable mit dem gleichen Namen angelegt?



  • Hi

    Du hast fbW mit 0 initialisiert, und dieser Wert, also die Null, wird nirgends verwendet, da in der zweiten Zeile fbW sofort ein neuer Wert zugewiesen wird.
    Initialisiere die Variable nicht, dann sollte auch die Warnung weg sein.

    MfG Stephan



  • Vielen Dank für die Antworten.
    Ich hatte mit 0 zur Sicherheit initialisiert, weil ich sicher sein wollte keinen Fehler zu provozieren wenn in dem ListView mal kein konvertierbarer Wert stehen sollte.



  • Hallo

    Degegen hilft aber kein vorheriges Zuweisen, denn bei ToDouble (oder StrToFloat) läuft die Fehlerbehandlung mit Exceptions. Um das zu behandeln brauchst du entweder try-catch oder StrToFloatDef (wenn du BCB6 oder höher hast)

    bis bald
    akari


Anmelden zum Antworten