Wieso gibt es dazu keine Hilfe?



  • Hi. 🙂

    Nun, meine Projekte erstelle ich meistens mit dem Wizard und größtenteils „Dialog based (Dialog basierend)“.

    Wenn das Projekt, beispielsweise mit dem Projekt-Namen „Versuch“, erstellt wurde, sind einige Standard - *.h Header, und *.cpp Quell – Dateien vorhanden.

    Zum Beispiel:

    Versuch.h
    Versuch.cpp
    VersuchDlg.h
    VersuchDlg.cpp

    ...

    Meine Frage lautet nun, wie ich mir weitere Header, und Quell – Dateien anlegen kann. Beispielsweise wie ich eine Header – Datei erstelle, in dem ich dann meine eigene Klasse und Funktionen definiere, und eine Quell – Datei, wo ich meine Funktionen erstelle.

    Zum Beispiel:

    VersuchKlasse.h

    -> Beinhaltet die Klasse, die von "CDialog" abgeleitet wurde, DAMIT ich dann außerdem noch auf die "Controls" auf meinem Dialog zugreifen kann. ABER das klappt nicht. "GetDlgItem" usw. funktioniert von "VersuchKlasse.cpp" nicht. NUR von "VersuchDlg.cpp". ALSO, ich kann nicht auf die "Controls" auf dem Dialog von "VersuchKlasse.cpp" zugreifen.

    VersuchKlasse.cpp

    --------------------------
    Nun kommt das Wichtigste:
    Wie kann ich dann zum Beispiel in der Datei „VersuchDlg.cpp“ auf eine Funktion von der Datei „VersuchKlasse.cpp“ zugreifen/aufrufen????

    PS: Wenn ihr noch Fragen habt, werde ich mich sehr bemühen, sie zu beantworten, denn dieses Problem muss ich unbedingt kapieren, denn sonst bin ich verloren.

    Ich bedanke mich schon im voraus bei allen, die mit eine Antowrt schreiben.



  • Schau dir mal die Tutorials von E. Henkes an.

    Devil



  • Und wo finde ich die????

    BITTE, gibt mir immer die dazugehörige Internet-Seite.





  • :p



  • Original erstellt von Mr-Baby:
    **Hi alle zsuammen. 😕

    Info: Kenne mich mit Klassen aus. Wie man sie erstellt, wie man Klassen von Klassen ableitet usw.
    **

    Dies wiederspricht sich mit deinem anderen Posting.

    Um von einer anderen Klasse auf deinen Dialogklasse zuzugreifen kannst du z.B. den this-Zeiger übergeben.

    TUT`s über MFC:
    [url] msdn.microsoft.com [/url]

    [ Dieser Beitrag wurde am 19.02.2003 um 16:01 Uhr von Unix-Tom editiert. ]



  • hee hilfe2 was fällt dir ein meinen nick zu faken ?



  • Ja, ich kenne mich mit Klassen aus.

    Habe früher sehr oft in Borland C++ programmiert.

    Dort hatte ich auch keine Probleme, denn dort habe ich die Deklaration von der Klasse und den Funktionen auf der *.cpp - Datei gemacht (also, eine einzige Datei). Habe keine *.h - Datei.

    Bei Visual C++ ist das anders. Hier muss man *.h - Dateien erstellen. Deswegen möchte ich es ja auch lernen, wie man Funktionen aufrufen kann, die in einer anderen Datei sind.



  • lern C++, dann MFC



  • Original erstellt von Mr-Baby:
    **Dort hatte ich auch keine Probleme, denn dort habe ich die Deklaration von der Klasse und den Funktionen auf der *.cpp - Datei gemacht (also, eine einzige Datei). Habe keine *.h - Datei.
    **

    😕

    Was soll ich dazu noch sagen!



  • Wieso?? Das hat bei meinen Programmen, die ich gecodet habe, immer funktioniert. Nun möchte ich mich erweitern. Lerne MFC und lerne dabei auch noch mehr über die Programmiersprache C++.

    Nun funktioniert das auf die alte Art nicht mehr, wie ich es immer gemacht habe. Wollte es nun jetzt lernen, wie man es anders macht. Habe aber einige Probleme bekommen.

    Habe deswegen nach einem Forum gesucht, mit der Hoffnung, das mir vielleicht einer behilflich sein kann. Aber eins ist mir auf dieser Seite klar geworden und zwar, dass keiner keinem hilft. Man wird nur Beleidigt. Was anderes könnt ihr wohl nicht? Wie wäre es mal mit helfen??

    Wenn ihr selbst eine Antwort kriegt, seit ihr froh. Aber das Gegenteil macht ihr nicht.

    Naja, ich werde mir ein anderes Forum suchen. Wünsche euch viel Spaß beim gegenseitigen Beleidigen.



  • Original erstellt von Mr-Baby:
    **Wieso?? Das hat bei meinen Programmen, die ich gecodet habe, immer funktioniert. Nun möchte ich mich erweitern. Lerne MFC und lerne dabei auch noch mehr über die Programmiersprache C++.

    Nun funktioniert das auf die alte Art nicht mehr, wie ich es immer gemacht habe. Wollte es nun jetzt lernen, wie man es anders macht. Habe aber einige Probleme bekommen.

    Habe deswegen nach einem Forum gesucht, mit der Hoffnung, das mir vielleicht einer behilflich sein kann. Aber eins ist mir auf dieser Seite klar geworden und zwar, dass keiner keinem hilft. Man wird nur Beleidigt. Was anderes könnt ihr wohl nicht? Wie wäre es mal mit helfen??

    Wenn ihr selbst eine Antwort kriegt, seit ihr froh. Aber das Gegenteil macht ihr nicht.

    Naja, ich werde mir ein anderes Forum suchen. Wünsche euch viel Spaß beim gegenseitigen Beleidigen.**

    bischen schnell mit deiner ansicht 😉

    erstens: borland ist nicht mfc, wie du ja bemerkt hast
    zweitens: der hinweis, c++ zu lernen ist richtig, weil das die grundlage aller dinge ist, also der standard.
    danach ist es sinnvoll, mfc anzufangen, aber erst danach.

    mfc hat eigene regeln, das stimmt. dir wurden übrigens gute tutorials genannt.
    aber deine frage zeigt, daß du grundlegende sachen noch nicht verstanden hast.
    also was eine klasse eigentlich ist.

    also bitte daneben auch noch ein c++ tutorial anschaun. dann wird dir vieles klarer!

    thats it, und keine beleidigung, sondern ein hinweis!

    cu



  • weil die unterteilung in module einfach zu c++ gehoert, das ist wie das eigelb zum ei !



  • Original erstellt von <phippse>:
    das ist wie das eigelb zum ei !

    class CDotter : public CEi {
    public:
      CDotter(CHenne* pParent) : m_pParent(pParent) {}
      virtual ~CDotter(){}
    
      bool HasKueken {
        return m_pParent->IsBegattet();
      }
      bool m_bKueken;
      CHenne* m_pParent;
    };
    


  • ^^ Mastah



  • @mastah
    Das ist die jämmerlichste öffentliche Vererbung die ich je gesehen habe! 😮
    Wer hat dir das beigebracht?



  • Original erstellt von Mr-Baby:
    **
    Naja, ich werde mir ein anderes Forum suchen. Wünsche euch viel Spaß beim gegenseitigen Beleidigen.**

    Dich hat hier kein Registrierter Beleidigt.
    Das Problem ist: Du sagst, daß du dich mit Klassen und deren Vererbung auskennst.
    Wenn jemand hier eine Frage stellt muss der Antwortende immer zuerst Raten welche Kenntnisse der Frager hat.
    Bei dir bräuchte er nicht raten da du dich mit Klassen und Vererbung auskennst.
    Stadard in C++ sind nunmal Header und cpp Dateien. Deshalb gibt es ja auch
    #include

    Um eine Klasse einer anderen bekannt zu machen includet man einfach die header und ruft den Konstructor auf. Die hat aber nichts mit MFC zu tun sondern ist unterstes C++.
    Ich kenne mich mit dem Borland C++ nicht aus aber IMHO verwenden die dort auch Headerdateien.

    Weiters hast du von mir eine Antwort bekommen die ich deinem bisherigen Kenntnisstand (wie du es geschrieben hast) angepasst habe. Wer sich mit Klassen auskennt sollte auch wissen was der this-Zeiger ist.
    Ich sehe aber jetzt das dies nicht so ist, da du das ja nie verwenden konntest weil du nie Headerdateien gehabt hast welche du in anderen Klassen includet hast.
    Somit waren ja auch nie deine Klassendefinitionen einer anderen klasse bekannt und hast somit auch nie eine this-Zeiger übergeben können.

    Ich nehme aber deine Äuserungen nicht persönlich und wir können ja wieder von vorne beginnen wqen du das möchtest.



  • Original erstellt von Unix-Tom:
    Ich kenne mich mit dem Borland C++ nicht aus aber IMHO verwenden die dort auch Headerdateien.

    Vollkommen richtig. Auch Borland C++ verwendet Header-Dateien. Header-Dateien sind ja auch keine MS erfindung sondern stammen aus den C-Wurzeln von C++... Sogar C hat header-Files...

    @Mr-Baby: Als Entschuldigung "ich hab früher Borland C++ Programmiert" anzuführen ist schlicht nicht richtig.
    1. Verlangt keiner dass du dich für Lücken in deinem Wissen entschuldigen musst. (Auch nciht rechtfertigen)
    2. Hält auch Borland sich an den Standard und verwendet Headerdateien... Wenn du sie nicht benutzt hast, dann war das zwar schlechter stil aber das kann man ja auf eine Lücke im Wissen zurückführen.

    Auch eingeschnappt zu sein, dass man an deinen Kenntnissen in Sachen Klassen und C++ zweifelt ist eben so unpassend. Ich würde dir in der Tat empfehlen mal z.B. Ein C oder C++ Tutorial zu lesen. Das füllt bestimmt einige Lücken auf.

    Vielleicht als kleiner Hinweis: Was musstest du bei Borland C++ machen wenn du eine Funktion verwenden wolltest aus einer speziellen library? (z.B. einen std::string oder so?)

    @MaSTaH: brrr... Public-Variablen... dafür sollte man dir alle Hände, Füsse und noch son bestimmtes Teil abhacken 😉 !

    -junix



  • Dort hatte ich auch keine Probleme, denn dort habe ich die Deklaration von der Klasse und den Funktionen auf der *.cpp - Datei gemacht (also, eine einzige Datei). Habe keine *.h - Datei.

    hoje 🙄

    Die ganze geschichte mit den Headern und de *.cpp ist keine Compilerspezifische Angelegenheit. Somit hättest du dort auch mit Headern arbeiten können und auch aus vernünftigen Gründen müssen.



  • oh, junix war schneller *G*


Anmelden zum Antworten