Von aus Dialog genutzer Klasse im Dialog zeichnen.
-
Ich versteh grad eins nicht, warum hast du in deinem Programm extra stehen:
class CAudioTest;Es reicht doch ein include der Headerdatei.
Desweiteren müsstest du nicht CAudioTestDlg includieren?
// So ich mach jetzt Feierabend und von zu Haus aus lösen wir dein Problem.
-
inflames2k schrieb:
Ich versteh grad eins nicht, warum hast du in deinem Programm extra stehen:
class CAudioTest;Das hatte ich ja vorhin nur getestet und damit halt keine Fehlermeldungen bekommen wie beim inkludieren.
Habe beim Anlgen der Klasse das Dlg Kürzel vergessen daher ist CAudioTest schon richtig:D.
Ich mache auch gleich Feierabend, machen wir morgen weiter.
Danke und nen schönen Feierabend.
-
mr. main schrieb:
inflames2k schrieb:
Ich versteh grad eins nicht, warum hast du in deinem Programm extra stehen:
class CAudioTest;Das hatte ich ja vorhin nur getestet und damit halt keine Fehlermeldungen bekommen wie beim inkludieren.
Habe beim Anlgen der Klasse das Dlg Kürzel vergessen daher ist CAudioTest schon richtig:D.
Ich mache auch gleich Feierabend, machen wir morgen weiter.
Danke und nen schönen Feierabend.Also wenn ich eine Anwendung erstelle, erstellt er automatisch die CAnwendungsnameDlg.cpp und CAnwendungsnameDlg.h und extra noch die Datei CAnwendungsname.cpp.
-
Das erklärt sich dadurch, das dies ein Dialog ist, der aus dem menü einer View aufgerufen wird und somit als Resource geaddet wurde und dann vergibt man ort ja einen Namen.
-
Achso ja, dann versteh ich das ganze.

-
Morgen,
sprich du verstehst wo mein Problem liegen könnte oder nur warum der Name nicht mit Dlg endet?
-
Nur warum der Name nicht mit Dlg endet. Bin die ganze Zeit am Überlegen woran es liegen könnte.
Wenn du den Include auf die Datei hast, sollte er ja dementsprechend eigentlich die Klasse kennen.
-
Sehe ich genauso, könnte es evtl. an der Reihenfolge der includes liegen?
-
Inwiefern sollte es denn daran liegen?
-
Weiß nicht, war nur ne Idee. Es gibt ja öfter mal Probleme mit der Include Reihenfolge.
-
Poste mal bitte aus dem Dialog und der Klasse die include Blöcke.
-
//CSinSoundBuffer .h #include <mmsystem.h> #include <mmreg.h> #include "dsound.h" #include "math.h" #include "SoundBuffer.h" #include "GSM Testtool.h" #include "AudioTest.h" //CSindSoundBuffer .cpp #include "StdAfx.h" #include "SinSoundBuffer.h" #include "process.h" //Dialog .h #include "SinSoundBuffer.h" #include "Soundutilities.h" //Dialog .cpp #include "stdafx.h" #include "GSM Testtool.h" #include "AudioTest.h"
-
Probier den Include von #include "SinSoundBuffer.h" mal in der CPP Datei des Dialogs.
-
Auch dann die selben Fehler.
-
Und in Header und Unit?
-
Mit Unit meinst du wahrscheinlich die cpp Datei.
Auch schon probiert, selber Effekt:(
-
Langsam weis ich auch nicht mehr weiter...
Soweit ich das sehe, machst du genau das, was ich in meinem Programm auch getan hab und bei mir funktioniert alles.
Nochmal mein Aufbau:
Dialog CPP:
//Includes #include "anmeldeinfo.h" // 2. Dialog Dialog::function() { bla = "Hallo"; anmeldeinfo mydlg; mydlg.dialog = this; mydlg.DoModal(); }Also hab ich den Include zum 2. Dialog in der CPP.
2. Dialog Header:
#pragma once // includes #include "dialog1.h" class anmeldeinfo : public CDialog { // Variablen und Methoden deklaration Dialog *mymaindlg; };zugehörige CPP:
// includes #include "anmeldeinfo.h" // Methoden void anmeldeinfo::testmethode() { MessageBox(mymaindlg->bla); }Und wenn du alles richtig gemacht hast sollte der Aufbau so oder so ähnlich sein.
-
Könnte es evtl noch eine Compilereinstellung sein, welche die Rückwärts- oder Vorwärtsinkludierung verhindert?
Sonst fällt mir auch nichts mehr ein

-
Naja, hast du mal was an den EInstellungen geändert?
Ich arbeite mit den Standarteinstellungen.
-
Eigentlich nicht!
Vllt. klappt es bei dir ja auch weil beides von CDialog ist und es bei mir 2 unterschiedliche Klassen sind