Dumme Frage... Wie Variable in anderer Form bearbeiten



  • akari schrieb:

    Ist die Funktion ein Member von Form1, oder eine eigene Funktion?

    bis bald
    akari

    Das ist die Frage, und ohne Antwort keine Gegenantwort... 🕶

    Naja, wenn in Form1.cpp

    void Form1::MotorGoHome()
    {
    ......
    }
    

    steht und in der zugehörigen Form1.h die Deklaration unter

    public
    

    dann kannste die in Form2.cpp mit

    Form1->MotorGoHome();
    

    ansprechen.
    Und in der form2.cpp muss nur die Form1.h inkludiert werden:

    #include "Form1.h"
    

    Viel Erfolg, Mouse

    P.S.: Sry, Frage nicht beantwortet: in der Form2.h muss nix davon stehen..... 😃



  • Ok, ich glaube, der Fehler liegt in der H-Datei. Wie sieht dort die Deklaration genau aus?



  • D@ngermouse schrieb:

    **
    Naja, wenn in Form1.cpp

    void Form1::MotorGoHome()
    {
    ......
    }
    

    steht und in der zugehörigen Form1.h die Deklaration unter

    public
    

    dann kannste die in Form2.cpp mit

    Form1->MotorGoHome();
    

    ansprechen.
    Und in der form2.cpp muss nur die Form1.h inkludiert werden:

    #include "Form1.h"
    

    Viel Erfolg, Mouse

    P.S.: Sry, Frage nicht beantwortet: in der Form2.h muss nix davon stehen.....** 😃

    Alle Fragen beantwortet? In welcher "H-Datei" meinst Du denn....
    Bitte genaue Angaben!!!

    Mouse



  • Ich meine, wie der Eintrag, also die Deklaration in der H-Datei aussehen muss. Das weiss ich nämlich nicht. 😞



  • im Header sollte es so stehen

    public:
      void MotorGoHome();
    


  • Hm. So einfach? Ich werde es testen und mich hier wieder melden. So hatte ich es aber schon versucht, glaube ich. Aber wenn es nicht geht, bringe ich die Fehlermeldung hier mit ein. 🙂

    ABER DANKE DAFÜR!!!! 👍



  • So, habe nun die Fehlermeldung:

    'TForm1::MotorGoHome()'referenced from d:\........\Form1.obj

    Wat is dat..?



  • also nochmal zusammengefasst:

    in der Form1.h steht

    class TForm1 : public TForm
    {
    public:
      void MotorGoHome(); 
    }
    

    in Form1.cpp steht

    void Form1::MotorGoHome();
    { //Tu etwas }
    

    und in Form2.cpp kannst du mit

    Form1->MotorGoHome();
    

    drauf zugreifen

    ausserdem kannst du mal aus deinem Projektverzeichnis alle Dateien mit der Endung "obj" löschen und dann neu kompilieren



  • Linnea schrieb:

    in Form1.cpp steht

    void Form1::MotorGoHome();
    { //Tu etwas }
    

    [cpp]void TForm1::MotorGoHome()
    { //Tu etwas
    }[/cpp]



  • D@ngermouse schrieb:

    Und in der form2.cpp muss nur die Form1.h inkludiert werden:

    #include "Form1.h"
    

    Viel Erfolg, Mouse

    P.S.: .... in der Form2.h muss nix davon stehen..... 😃

    Jetzt aber....
    Mouse



  • Es hat geklappt! Ich habe die :: verwendet und das T vor dem Form1 gesetzt. Das fehlt auch. Nun geht es! DANKE!!!! 👍


Anmelden zum Antworten