Include Frage



  • Hallo

    ich habe eine Frage, in meiner Form hatte ich Funktionen die ich ausgelagert habe in eine Datei Funktion.cpp und dazugehörig eine Datei Funktion.h in der Funktion.h mache ich den Quellcode meiner Main bekannt in dem ich das dort includiere damit die Funktion auf die komponenten zugreifen kann das gleiche analog in main, dass ich also dort Funktion.h includiere damit ich es dort rufen kann, aber wieso sagt der nun dass er die Funktion nicht kennt? Vielleicht habe ich etwas übersehen? 💡



  • Ein stückel Code zur Orientierung wär nicht übel... *grübel*



  • Hmm ok aber ich dachte ich hätte das Problem gut genug beschrieben, erst einmal die Funktion

    //GridEreignis.cpp
    
    #include"GridEreignis.h"
    void __fastcall GridEreignis(){
      TField* t;
    ...
    }
    
    //GridEreignis.h
    #include <vcl.h>
    #include "Unit1.h"
    
    //Jetzt meine Main.cpp
    
    #include <vcl.h>
    #pragma hdrstop
    
    #include "Unit1.h"
    #include "File1.h"
    #include "Unit2.h"
    #include "BaumBelegen.h"
    #include "GridEreignis.h"
    
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TfmMain *fmMain;
    
    ... und irgendwo in main unten mach ich das folgende...
    
    void __fastcall TfmMain::DBGrid1KeyUp(TObject *Sender, WORD &Key,
          TShiftState Shift)
    {
     GridEreignis();
    
    }
    

    Und Dann kommt die Meldung [C++ Fehler] Main.cpp(367): E2268 Aufruf der undefinierten Funktion 'GridEreignis'

    [edit="junix"]Bitte Code-Tags verwenden! danke. ( sfds )[/edit]



  • Du weisst aber schon wozu Headerfiles gut sind oder?

    -junix



  • Noch eine Ergänzung weil ich immer Main gesagt habe ich habe in der Meldung auch unten [C++ Fehler] Unit1.cpp(367): E2268 Aufruf der undefinierten Funktion 'GridEreignis' Einfach das Unit1 weggemacht und Main hingeschrieben, die File heisst aber Unit1.cpp sorry für die verwirrung 🙂



  • Ne tolle Frage vom Admin...



  • Hab gerade gesehen mein Header sieht nicht so aus

    #include <vcl.h> 
    #include "Unit1.h"
    

    sondern so

    #include <vcl.h>
    #include "Unit1.h"
    void __fastcall GridEreignis();
    

    trotzdem stimmt da was net

    [edit="junix"]Zum zweiten und letzten Mal: Code-Tags verwenden: sfds[/edit]



  • Ne tolle Antwort vom Fragesteller...

    a) bin ich nicht Admin sondern Müllbeauftragter hier
    b) Hab ich keine lust dir zu erklären wozu Headerfiles gut sind, wenn dus schon weisst

    javawood schrieb:

    in der Funktion.h mache ich den Quellcode meiner Main bekannt

    Davon seh ich z.B. nix in deinen Listings...

    -junix



  • also sowas wie ein garbage collector das war ein "copy paste net ganz alles mit nehm"-fehler mit dem header deswegen steht der im ursprünglichen code auch net drinne 😮


Anmelden zum Antworten