Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » CFileDialog.GetFolderPath buggy?

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 < [ 2 ]
000
19.08.2004, 11:19 Uhr
NotUsed



ich hab nur das zum proggy hinzugefügt, und dann kommt beim wählen der datei eine fehlermeldung...


C++:
nCFileDialog m_ldFile(TRUE);
m_strPath = m_ldFile.GetFolderPath();


obwohl das hier funktioniert:

C++:
nm_strFile = m_ldFile.GetFileName();


dabei hab ich noch gar nichts mit den pfad vor, nur die initialisierung bringt schon einen fehler... (beim ausführen, wenn ich die datei auswähle)
find ich strange, weis wer warum das so ist, bzw wie ich das vermeiden kann?.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.08.2004, 11:28 Uhr
~mike
Gast



Zitat:

... und dann kommt beim wählen der datei eine fehlermeldung ...
... nur die initialisierung bringt schon einen fehler ...



Hmm. Müssen wir jetzt raten wir der Fehler lautet oder verrätst du ihn uns?

mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.08.2004, 11:34 Uhr
NotUsed



Ok

Code:


Microshit Visual C-- Buggy Libary

Program: ...gFile.. blablabla .exe
File: dlgfile.cpp
Line:308

For information or a blowjob call 911
blabla

[abort] [retry] [ignore] [shutdown] [911] [selfdestrukt]  :shock:


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
19.08.2004, 11:44 Uhr
~mike
Gast


Das schaut nach nem ASSERT aus.
nCFileDialog m_ldFile(TRUE);
könnte ihn auslösen. Wenn du auf Wiederholen klickst und er gupft zu nem ASSERT mit ::IsWindow, dann wars das zu 99%
Ansnsonsten:
CFileDIalog bla(...);
bla.DoModal();
AfxMessageBox(bla.GetFileName());

mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
19.08.2004, 12:08 Uhr
NotUsed



erstmal danke
Also wenn ich auf retry gehe spuckt er das aus


Code:

the exception Breakpoint
A breakpoint has been reached
(0x80000003) occured in the aplication at location 0x5f4090bf.

click on ok to bla
click on cancel to bla


also wie kann ich den fehler beheben?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
19.08.2004, 12:10 Uhr
mike
Pinguinhüpfer
(Operator)


Man kann jeden Fehler beheben.
CFileDIalog bla(...);
bla.DoModal();
AfxMessageBox(bla.GetFileName());
und es müsste problemlos gehen. Da braucht man kein UpdateData
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/html/_mfc_cfiledialog.asp

mfg
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
19.08.2004, 12:23 Uhr
NotUsed



Also das ist funktion

void bla::OnSearch()
{
CFileDialog m_ldFile(TRUE);

if (m_ldFile.DoModal() == IDOK)
{

m_strPath = m_ldFile.GetFileName();
m_strFolder = m_ldFile.GetFolderPath();

UpdateData(FALSE);
}
}

wenn ich das auf deinen code ändere, gibt es nur eine messagebog zusätzlich
und der fehler kommt halt erst wenn ich die box schließe...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
19.08.2004, 12:42 Uhr
~mike
Gast


Sehr Sehr komisch. Kannst du dein Projekt an mich shcicken oder noch besser online stellen?
mvodep_AT_gmx.net
Ich versuchs dann heute abend. Sonst ist dein Code richtig.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
19.08.2004, 13:05 Uhr
NotUsed



hier das project
naja ich hoffe da ist noch etwas zu machen denn ich brauch diesen command damit ich später mehrere dateien scannen kann.
(wirst eh im code sehen)

also schon mal danke im vornherein

EDIT: rechtsklick save as...

Dieser Post wurde am 19.08.2004 um 13:06 Uhr von NotUsed editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
19.08.2004, 13:49 Uhr
Airdamn



MSDN sagt Du musst den CFileDialog mit OFN_EXPLORER style öffnen, wenn Du GetFolderPath() benutzen willst.

Außerdem darf das Handle des Fensters von CFileDialog nicht NULL sein.
Wenn Du es aber per DoModal() aufrufst, ist das hWnd NULL nachdem man OK oder Abbrehcen drückt und Du kannst GetFolderPath() nicht mehr benutzen.
Was da noch geht wäre GetPathName() und dann ab dem letzten Backslash abschneiden.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ 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: