Von aus Dialog genutzer Klasse im Dialog zeichnen.
-
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
-
Nein hatte das gestern Abend noch mit einer Testklasse "Addition" gemacht und da hat es auch funktioniert.
-
Verdammt, dann probier ich mal noch etwas rum, fvllt. krieg ich es ja noch iwie hin

-
Ich hätte da mal einen Vorschlag für dich.

Erstell dir mal einen Dialog & eine extra Klasse die nur eine Funktion addition besitzt und als Property einen Zeiger auf den Dialog.Aus dem Main rufst du dann die Funktion addition auf & schreibst das Ergebnis in ein Textfeld auf dem Dialog.
Mich interessiert jetzt nämlich brennend ob das so bei dir funktioniert.
/////
Ich hab jetzt zu Hause mit Visual C++ 2005 Express Edition probiert ob ich es dort hinbekomme. Dort erhalte ich die selben Fehler. Also wird das Prinzip so wohl nur bei Dialogbasierten MFC Anwwendungen funktionieren.