Eigene Class in eine Form bekannt geben.



  • Hallo,

    ich habe eine Class in Myfunc.cpp inhaltet. ob wohl Myfunc.cpp in Projet hingefügt habe, In die Form1 ist meine Class nicht bekannt.

    Kann jemand bitte mir sagen, was ich noch zusätlich machen muss.

    Inhalt von Myfunc.cpp
    //////////////////////////////
    class Globaldata
    {
    private:
    XXXXXXXXXX
    Public:
    xxxx();

    }

    Globaldata *Data=new Globaldata ;

    ///////////////////////////////////

    Ich will "delete Data;" on Form close erledigen.

    Gruß
    S.Mathi



  • hast du die datei "Myfunc.cpp" in der der Form1-Klasse hinzugefügt ?
    d.h. hast du

    include "Myfunc.cpp"

    in der datei form1.cpp oder form1.h gemacht ?
    nur hinzufügen zum project reicht nicht.

    MfG



  • Hi

    wenn ich In Form1.cpp include "Myfunc.cpp" setze bekomme folgende Fehler:

    [Linker Warnung] Public symbol '_Data' defined in both module L:\C\CSV\1\MAIN.OBJ and L:\C\CSV\1\MYFUNC.OBJ

    Program startet. Aber auf die stelle, wo ich Form1-> anspreche, passiert Speicher Fehler(kommt laufzeitfehler.)

    wenn ich In Form1.h include "Myfunc.cpp" setze bekomme folgende Fehler:

    Überall, wo ich in meine Funktion Form1 angeprochen habe, jetzt Form1 ist nicht bekannt.

    Gruß
    S.Mathi



  • Wo versuchst du die instanz zu erstellen ? wenn du das in TForm1::TForm1 machst kommt ein fahler, da zu diseser Zeit die klasse noch nicht erstellt / geladen ist. deswegen erstall mal ein button mit folgendem OnClick ereigniss:

    Globaldata *Data=new Globaldata ;

    MfG



  • Ich würde es mal mit #include "myfunc.h versuchen. Ich bin der Meinung eine .cpp datei kann und sollte man nicht includen.

    Aber korrigiert mich wenn ich mich irren sollte.

    Du solltest auch im header von myfunc noch deine Klassen definitionen in

    #ifndef _Myfunc_h_
    #define _Myfunc_h_
    
    ...
    
    Klassendefinition 
    
    ...
    
    #endif
    

    einfügen



  • mit dem Cpp file includen habe keine erfolgt.

    @Fox-Alpha : was meist du mit "Klassendefinition":

    Kompletes Code von meine Klasse. oder ähnlich wie Funktion definition?



  • @Fox-Alpha:
    Ich bin der Meinung, dass bei sehr kleinen Klassen das includieren von CPP Dateien durchaus sinnvoll ist, um einen Datei-überfluss zu vermeiden. Klar ist es bei umfangreichen klassen besser eine header-Datei zu erstellen. Aber manchmal ist es einfach nicht nötig. (Meine Meinung)

    zum eigentlichen Problem: Ich glaube, solche Fragen muss man nicht beantworten, da Personen die sie stellen KEINE ahnung von dem Zeug haben und ich sehe es nicht ein Leuten zu helfen die zu faul sind sich einen grundlagentext durchzulesen, in dem sicher die passende antwort zu finden ist.




Anmelden zum Antworten