System::IO::File::Move - Methode - wo liegt der Fehler?



  • Abend Leute ...

    Habe ein String Array aus einem DragDrop Event - welches ich einer Funktion übergebe:

    private: System::Void folderpanel_DragDrop(System::Object^  sender, System::Windows::Forms::DragEventArgs^  e) 
    			 {
    			 array<String^>^dateien = (array<String^>^)e->Data->GetData( DataFormats::FileDrop );
    
    			 dateiverschieben (dateien);
    			 }
    

    Wird diese Funktion nun aufgerufen, passiert irgendwie nichts:

    void Sidebar::folderpanel::dateiverschieben (array<String^>^ dateien)
    	{	
    	int index = 0;
    	String^ dateiname, ^neuerdateiname;
    
    	for each (String^ dateiname  in dateien)
    		{		
    		neuerdateiname = pfad + "\\" + dateiname->Substring ( dateiname->LastIndexOf ("\\") + 1);		
    		System::IO::File::Move (dateiname, neuerdateiname);
    		}
    
    	}
    

    Beim Debuggen springt die Funktion zurück sobald ich die Zeile 9 erreiche. Hab schon gefühlte 100mal drübergeschaut ... aber irgendwie ... ?



  • anstelle von Move(..) könntest Du ja mal die dateinamen rausschreiben und gucken, ob das was drin steht sinn macht.



  • Habe ich bereits versucht. Die Variablen enthalten dann genau das was sie sollen. Darum verstehe ich das auch nicht...



  • Auch baut man Pfade nicht mit irgendwelchen + oder \ zusammen, sondern nimm "Path::*"!
    Also

    String^ neu = System::IO::Path::Combine(path, System::IO::Path::GetFileName(dateiname));
    

Anmelden zum Antworten