Bilddatei umbennen funzt net gelöst :-)



  • Hallo !

    Ich versuche eine Bilddatei umzubennen. Leider kommt immer die Meldung "Der Process kann nicht auf die Datei zugreifen da sie bereits von einem anderen Process verwendet wird."

    File::Move(DateiAlterName,DateiNeuerName);
    

    Mit einer anderen Datei die keine Dateiendung hat funktioniert es komischerweise 😕



  • lies Dir bitte nochmal die Fehlermeldung durch - denke kurz darüber nach

    danke, mogel



  • mogel schrieb:

    lies Dir bitte nochmal die Fehlermeldung durch - denke kurz darüber nach

    danke, mogel

    Ich weiss das irgendwie die Datei noch genutzt wird. Ich habe bereits versucht mit Dispose die Ressource freizugeben, aber dann kommt der Fehler "Dispose ist kein Element von Image" !

    Kurz zur Erklärung. Ich lade das Bild1 erst in eine PictureBox, dann habe ich versucht ein anderes Bild2 in die PictureBox zu laden und versucht das Bild1 umzubennen.Aber auch das geht nicht. Mit Dispose komme ich auch nicht weiter 😕

    Wie kann ich es also schaffen das die Datei umbenannt wird.



  • Sorg dafür dass die Datei nicht mehr benutzt wird.



  • theta schrieb:

    Sorg dafür dass die Datei nicht mehr benutzt wird.

    Genau das versuche ich ja, aber wie ???
    Wenn ich das Bild aus der PictureBox nehme wird es trotzdem noch weiter benutzt.
    Ich habe keinen Plan wie ich es mache. Dachte wie gesagt das es vielleicht mit Dispose klappt, aber das geht auch irgendie nicht, habe auch die PictureBox auf nullptr gesetzt aber auch das funzt net.

    this->PictureBox->Image = nullptr;
    

    Help Please 😮



  • Ich bekomme es nicht hin das die Datei nicht mehr genutzt wird. Ich bin jetzt soweit ...

    Bitmap ^bild = gcnew Bitmap("bild.jpg");
    this->pictureBox1->Image = bild;
    

    Es geht ja um die Datei bild.jpg. Die will ich umbennen mit File::Move();

    nun habe ich folgendes Probiert !

    bild->Dispose();
    

    da kommt die Fehlermeldung "Dispose ist kein Element von Bitmap"

    dann habe ich das hier versucht

    delete bild;
    

    Da kommen so einige Fehlermeldungen ?

    Wie bekomme ich es hin das die Datei nicht mehr genutzt wird ??? 😕 😕 😕



  • Fantoma555 schrieb:

    Wie kann ich es also schaffen das die Datei umbenannt wird.

    Du musst den Datei-Lock vom Bild entfernen ... mit dem geposteten Quellcode speicherst Du kein Bild



  • mogel schrieb:

    Fantoma555 schrieb:

    Wie kann ich es also schaffen das die Datei umbenannt wird.

    Du musst den Datei-Lock vom Bild entfernen ... mit dem geposteten Quellcode speicherst Du kein Bild

    Ich versuche die Datei so zu speichern .

    File::Move(DateiAlterName,DateiNeuerName);
    

    und Wie entferne ich den Datei-Lock ???

    sry ich programmiere noch net so lange 😞



  • Fantoma555 schrieb:

    Ich versuche die Datei so zu speichern .

    😕 ... Bilder speicherst Du mit der Save-Methode

    und Wie entferne ich den Datei-Lock ???

    wenn wir rausbekommen haben wie Du die Datei speicherst,dann können wir das Problemlösen ... Du kannst ja mal etwas ausführlicheren Quelltext posten (Tags bitte nicht vergessen - danke)

    hand, mogel



  • mogel schrieb:

    Fantoma555 schrieb:

    Ich versuche die Datei so zu speichern .

    😕 ... Bilder speicherst Du mit der Save-Methode

    und Wie entferne ich den Datei-Lock ???

    wenn wir rausbekommen haben wie Du die Datei speicherst,dann können wir das Problemlösen ... Du kannst ja mal etwas ausführlicheren Quelltext posten (Tags bitte nicht vergessen - danke)

    hand, mogel

    Kannst Du lesen Mogel?
    Er öffnet das Bild über Bitmap.

    Hand, Klatsche



  • @Fragesteller: Versuche doch mal das Picture Box Zeugs wegzulassen. Funktoniert dann das Umbenennen?

    Simon



  • theta schrieb:

    @Fragesteller: Versuche doch mal das Picture Box Zeugs wegzulassen. Funktoniert dann das Umbenennen?

    Simon

    Jo wenn ich das Bild nicht über Bitmap lade kann ich es umbenennen.
    Kurze Erklärung.

    Ich bastel grade an so ne Art Lexikon zum selbst eintragen weil das nen älterer Herr gerne hätte. Es gibt 2 Eingabe Felder und ein Bild. Die Einträge werden in ListView aufelistet und bei Doppelklick erscheint dann der Beitrag mit dem passenden Bild dazu. Dann kann man den Eintrag ändern. Wenn man nun den Begriff ändert soll sich auch der Bildname ändern da man keinen doppelten Begriffe eintragen kann. Wichtig ist eben das ich das Bild umbennen kann. Nur leider bekommen ich es nicht hin.



  • Image^ img = pictureBox->Image;
    pictureBox->Image = nullptr;
    delete img;
    
    // file umbenennen
    
    pictureBox->Image = NeuesBildLaden();
    


  • hustbaer schrieb:

    Image^ img = pictureBox->Image;
    pictureBox->Image = nullptr;
    delete img;
    
    // file umbenennen
    
    pictureBox->Image = NeuesBildLaden();
    

    Thx hat geklappt 🙂 👍


Log in to reply