CFileFind in OnInitDialog == Fehler .....???!!!



  • Hallo,

    ich benutze CFileFind in der OnInitDialog und es taucht immer ein Fehler auf !
    Fehler:

    conditional expression of type 'class CFileFind' is illegal
    No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called

    Was mache ich falsch ??? Ich habe schonmal ein Projekt gehabt wo ich CFileFind in der OnInitDialog benutzt habe und da hat es geklappt ... 😕

    Danke
    :: NoName ::



  • Zeig mal deinen Code.

    class CFileFind
    

    wäre in der Tat illegal, da da kein class hingehört 😉

    Devil



  • Mein Code ist dieser:

    CFileFind finder;
    CString Pfad = "C:\\Dokumente und Einstellungen\\All Users\\Startmenü\\*.*";
    
    BOOL Result = finder.FindFile(Pfad);
    while (finder)
    {
    	Result = finder.FindNextFile();
    
    	pList->InsertItem(0,finder.GetFileName());
    	m_imageList.Add(hIcon[0]);
    }
    

    Ich habe es so weit getestet bis der fehler kommt ! Und zwar kommt er bei der While-Schleife !!! Habe es auch schon mit der If-Anweisung und Do/While-Schleife versucht (!) doch nix hat geholfen ... 😞



  • Also deine benutzung von CFileFind scheint okay zu sein. Da sehe ich keinen Fehler. Und das du das ganze in der InitDialog aufrufst, dürfte eigentlich auch kein Problem sein.

    Die möglichkeiten wären also noch pList nicht richtig initalisiert ist oder das hIcon[0] auf ein ungültiges Icon verweist.

    Bei welcher Zeile und welchem Durchlauf stürzt er den genau ab?

    -edit-
    Okay, fehler in fremden Quellcodes finden war noch nie meine stärke 😉 Du musst nicht finder überprüfen sondern Result also while(result)



  • Naja, man kann den Inhalt der While-Schleife entfernen (pList etc.) und trotzdem erscheint dieser Fehler ! Bevor ich CFileFind aufrufe, habe ich vorher in der OnInitDialog noch ein paar Reg-Codes zum öffnen der Schlüssel in usw usw...könnte es daran liegen ???



  • Genau...Das dumme Result ... warum schreibe ich denn auch finder... naja was solls...aus Fehlern lernt man...DANKE 😃



  • Gern geschehen. Schnell mal passiert. Solch dumme fehler findet man dann aber auch nicht so schnell weil mans ja doch meistens nur überfliegt. 😉


Anmelden zum Antworten