Variablenkonvertierung von String nach WORD geht nicht



  • Hallo Leute,

    ich verwende BCB 5.0 pro unter WinXP und habe folgendes Problem:

    ich möchte eine Funktion aufrufen, die als Eingabeparameter eine Variable
    des Typs WORD benötigt.

    funktion(WORD test);

    Ich möchte den Eingabeparameter aus einem TEdit-Fenster auslesen,
    in einer Varaiablen speichern, und diese Variable der Funktion übergeben:

    // So funktioniert die Funktion nicht
    // ==================================
    WORD w_test;
    w_test = WORD(StrToInt(Edit1->Text));  // Im TEdit steht "100"
    funktion(w_test);
    
    // Wenn ich den Wert direkt der Variablen zuordne, dann gehts
    // ==========================================================
    WORD w_test;
    w_test = 100;
    funktion(w_test);
    

    Meiner Meinung nach geht was bei der Konvertierung schief, oder?

    Danke im Voraus



  • was funktioniert nicht? Fehlermeldungen? Debugger?



  • Es ist eine Funktion, die das Sendeintervall eines Synkronisationsobjektes bei CanOpen-Protokoll setzt. Es gibt keine Fehlermeldungen. Es wird alles ohne Fehler zu Ende kompiliert. Mein Wert aus dem Edit-Fenster wird einfach nicht übernommen.
    Ich kann auch leider nicht in der Funktion debuggen, weil die Funktion in einer Bibliothek geliefert wurde.

    Es geht jetzt nur um die Konvertierung:

    WORD w_test;
    w_test = WORD(StrToInt(Edit1->Text));
    

    Dabei geht etwas schief, und ich weiss nicht was...



  • sonic_1233 schrieb:

    WORD w_test;
    w_test = WORD(StrToInt(Edit1->Text));
    

    aber das kannst du doch debuggen. Was steht im Edit? Was steht danach in w_test?
    bei mir gehts, allerdings nur mit Zahlen zwischen 0 und 65535, da WORD nicht mehr kann



  • Das hat sich erledigt. Ich habe die Funktion an der falschen Stelle aufgerufen.

    Vielen Dank für die Antworten


Anmelden zum Antworten