Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Dialog Aufrufen.

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
06.12.2002, 10:35 Uhr
Uli



Hallo,

Ich habe jetzt schon ein paar Versionen versucht aber keine geht. Das Problem liegt bei dem Einbinden eines Dialoges.
Ich habe ein MainDlg (Prog_VS) mit dem ich auf eine Klasse Namens CDateien zugreife. In dieser Klasse sind Dateioperationen hinterlegt wie Kopieren, Verschieben, Datum, Zeit, CompareLastWriteTime,... Nun soll wenn es beim Kopieren ein Fehler gibt ein Dialog (CVerschiebenDlg) aufgerufen werden. So bald ich diesen aber einbinden will (CVerschiebenDlg Verschieben und #include "VerschiebenDlg.h" bekomme ich beim Kompilieren der Datei Dateien.cpp den fehler Das die IDD_VerschiebenDlg nichtdeklariert ist. Die ID steht in der Datei VerschiebenDlg.h. Erst dachte ich es kommt durch einen Rücksprung. Der Dialog Verschieben ruft Funktionen von CDateien auf um sich Informationen zu beschaffen. Dies habe ich nun geändert. Die Informationen die der Dialog benötigt sind in einer extra Klasse untergebracht. Das Problem besteht aber weiterhin. Der Dialog Verschieben wird im Prog_VS nicht benötigt sondern nur in CDateien. Also würde ich ihn auch gerne von dort aufrufen.

Das aber bitte wie??

Danke

Mit freundlichen Grüßen und schönen Nikolaus noch
Uli
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.12.2002, 10:43 Uhr
Tommix



Hallo,
wahrscheinlich stimmt die Reihenfolge der includes nicht. Versuch mal:

C++:
#include "stdafx.h"
#include "Anwendung.h" // der Header deiner App-Klasse, wie immer der auch heissen mag
#include "VerschiebenDlg.h"
#include "MainDlg.h"


Gruß, Tommix

Dieser Post wurde am 06.12.2002 um 10:44 Uhr von Tommix editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
06.12.2002, 10:55 Uhr
Uli



Hallo Tommix.

ich habe folgende Include in der Klasse von wo der Dialog aufgerufen werden soll.

#include "stdafx.h"
#include "VerschiebenDlg.h" // Der VerschiebenDlg. der Aufgerufen werden soll
#include "Dateien.h" // Die Klasse für die Dateioperationen

/*

ich habe die Reihenfolge getauscht aber es spielt keine Rolle. "IDD_VerschiebenDlg": nichtdeklarierter Bezeichner
Konstanter Ausdruck erwartet.

Was meinst du mit???

#include "Anwendung.h" // der Header deiner App-Klasse, wie immer der auch heissen mag

ich denke mal die #include „Dateien.h“

Wenn ich die MainDlg.h mit einbinde bekomme ich noch mehr Fehler.

Bye Uli
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
06.12.2002, 12:10 Uhr
Tommix



Ich denke mal der Fehler tritt an dieser Stelle in VerschiebenDlg.h auf:

C++:
// Dialogfelddaten
//{{AFX_DATA(CVerschiebenDlg)
    enum { IDD = IDD_VerschiebenDlg };
...


Schreib dort mal
#include "resource.h"
oben rein. Ansonsten kannst Du mir das Projekt auch mal schicken und ich seh' am Wochenende mal rein.
Vielleicht schenkt mir der Nikolaus doch noch was, wenn ich 'ne gute Tat vollbringe .

Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
06.12.2002, 12:22 Uhr
Uli



DANKE.

Ja der Fehler kamm genau an der stelle. Jetzt aber nicht mehr. habe
#include "resource.h" vor dem
#include "VerschiebenDlg.h" eingebunden in der CDateien Klaase von do der Dialog ja aufgerufen wird und schon ging es.

Jetzt muß ich dich gleich ein mal überfallen Das war ja nur ein Problem.
Also wenns dich nicht stört.

Ich habe einen Dialog mit einer CListBox in der eine unbekannte anzahl von einträgen steht. Der Dialog wird von meinem MainDlg gestartet. Wie komme ich in dem MainDlg an die Einträge der Liste ran?? Bei einem normalen eingabefeld oder Combobox kein Problem. aber hier?? Ich bracueh die CStrings der Liste (Datein mit FullPath) die ich zum Kopieren benötige.

Danke. Ich kann dir deine gute Tat bestätigen.

Bye Uli

PS: Bei mir war heute auch nichts drine. Nur auf arbeit habe ich was bekommen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
06.12.2002, 14:50 Uhr
Tommix



Hallo,
wenn der Dialog nichtmodal ist, kommst Du direkt an die Combobox ran. Ansonsten mußt Du Sie halt bei OnOK in ein Stringarray rüberkopieren:
(nicht getestet)

C++:
// VerschiebenDlg.h:
// ...
public:
  CStringArray m_list;
// ...

// VerschiebenDlg.cpp:
//...

CVerschiebenDlg::OnOK()  // per KlassenAssi erzeugt
{
  for (int i = 0; i < m_comboBox.GetCount(); i++)
  {
    CString text;
    GetLBText(i, text);
    m_list.Add(text);
  }
  
  CDialog::OnOK();
}

//...

// Dateien.cpp:
//...

  CVerschiebenDlg dlg;
  if(dlg.DoModal() == IDOK)
  {
    // in dlg.m_list steht der Inhalt der Listbox
  }

//...


Hoffe, ich habe Dein Problem verstanden.

Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: