LabelEdit auf Integer (positive Zahlen) begrenzen! Fehlermeldung! BCB 6!



  • Hallo dem C++ Forum & den Usern,

    Habe bezüglich folgendem Code ein Problem:

    [Header]

    void SetIntEdit(TLabeledEdit* L_IntEdit);
    

    [Quelltext]
    [Funktion]

    // Funktion SetIntEdit() beschränkt die Eingaben in die TEdit-Komponente auf ganze (positive) Zahlen
    
    void SetIntEdit(TLabeledEdit* L_IntEdit)
    {
      SetWindowLong(L_IntEdit->Handle, GWL_STYLE, GetWindowLong(
        L_IntEdit->Handle, GWL_STYLE) | ES_NUMBER);
    }
    

    //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Bis hierhin ergibt sich kein Problem aus dem oben Programmierten! Ich kann einwandfrei compilieren, somit sollte im Code selbst kein Fehler sein!

    -> Jedoch wenn ich diese Funktion nun aufrufe:

    // OnCreate oder OnShow-Ereignis des Formulars
    
      SetIntEdit(LE_Se);
      SetIntEdit(LE_Mi);
      SetIntEdit(LE_St);
    

    erhalte ich folgenden Fehler:

    [Linker Fehler] Unresolved external 'THauptformular::SetIntEdit(Extctrls::TLabeledEdit *)' referenced from H:\TIMER\UNIT1.OBJ

    -> Liegt es jetzt am LabelEdit ?
    -> Wo liegt mein Fehler ?
    -> Kann mit der Fehlermeldung leider nicht viel Anfangen! Auch googlen ergab nichts!

    -> Compiliert habe ich den Code mit dem BCB 6

    -> Dachte mir, ist die einfachste Art & Weise nen Edit - Feld zu begrenzen, sollte auch mit nem LabelEdit funktionieren! War dies ein Trugschluß ?

    PS: KP ob ich den richtigen Bereich gewählt habe, dachte mir, dass es im allgemeinen Bereich nicht verkehrt sein wird 😉 😃



  • Du hast die Funktion offenbar in deiner Klasse deklariert und anschließend eine gleichnamige globale Funktion mit dem selben Namen definiert. Für den Linker sind das zwei völlig unterschiedliche Funktionen. Wenn du die Klassenmethode außerhalb der Klassendefinition definieren willst, mußt du ganz klar mit angeben, wohin sie gehört:

    void THauptFormular::SetIntEdit(TLabeledEdit* L_IntEdit)
    {
      ...
    }
    


  • Oh schitt jo, das habe ich übersehen, war gestern auch schon spät 😉
    Oo... da hätt ich auch selbst drauf kommen müssen ... -.-
    😡

    Vielen, vielen Dank ^^
    *grumel* so was dummes... dachte ich habe vielleicht etwas in der syntax falsch gemacht, nun denn thx ^^


Anmelden zum Antworten