+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 3 su 3

file inspiegabilmente occupato

  1. #1
    Post
    197
    Like Inviati  
    0
    Like Ricevuti  
    1
    Salve a tutti, ho un problema strano che non mi mai capitato.

    Devo leggere 4 file dati scritti precedentemente da altra applicazione.
    Alla fine della procedura il quarto file rimane in sola lettura.


                    // inizio lettura aste 
                    for (int k = 0; k < 4; k++)
                    {
                        FileName = Globale.NomeCompletoCartellaMicrosap + "\\Statica5.Ast" + (k + 1).ToString("0000");
                        int counter = 0;
                        string line;
                        // Read the file and display it line by line.  
                        System.IO.StreamReader file = new System.IO.StreamReader(FileName);
                        while ((line = file.ReadLine()) != null)
                        {
                            string[] linea = line.Split(';');
                            int IDAsta = Convert.ToInt32(linea[0].Substring(1));
                            int IDsez = Convert.ToInt32(linea[1]);
                            string keyrow = "B" + IDAsta.ToString();
           
                            Globale.Aste[keyrow].ResAste5[k, IDsez, 0] = Convert.ToDouble(linea[2]);
                            Globale.Aste[keyrow].ResAste5[k, IDsez, 1] = Convert.ToDouble(linea[3]);
                            Globale.Aste[keyrow].ResAste5[k, IDsez, 2] = Convert.ToDouble(linea[4]);
                            Globale.Aste[keyrow].ResAste5[k, IDsez, 3] = Convert.ToDouble(linea[5]);
                            Globale.Aste[keyrow].ResAste5[k, IDsez, 4] = Convert.ToDouble(linea[6]);
                            Globale.Aste[keyrow].ResAste5[k, IDsez, 5] = Convert.ToDouble(linea[7]);
                            Globale.Aste[keyrow].ResAste5[k, IDsez, 6] = Convert.ToDouble(linea[8]);
                            Globale.Aste[keyrow].ResAste5[k, IDsez, 7] = Convert.ToDouble(linea[9]);
                            counter++;
                        }
                        file.Close();
                    }
                    // fine lettura Resistenza Aste
    

    Nome:   2020-02-26.png
Visite:  12
Grandezza:  8.4 KB


    Ho provato anche con
    File.Dispose();

    Appena finisce l'esecuzione, viene sbloccato.

    Cosa pensate che sia?

    Saluti & Grazie
    Sebastiano Floridia

  2. #2
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,482
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    34
    Quella parte di codice non dovrebbe essere la causa.

    E' inclusa in una try catch? Avviene un errore, di cui non ti accorgi, per cui la Close() non viene eseguita?
    Esegui passo passo con un breakpoint sulla Close() e controlla che venga sempre eseguita.

    Altrimenti, il problema potrebbe essere da qualche altra parte del codice che tratta quei file.
    ℹ️ Leggi di pi su AntonioG ...

  3. #3
    Post
    197
    Like Inviati  
    0
    Like Ricevuti  
    1
    Ciao,
    Il codice e' su try catch e trova il file occupato.
    Dopo tanta fatica, ho beccato un'altra routine che lo lasciava aperto.



    Grazie tante.
    Sebastiano Floridia

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Spazio occupato da un Dictionary
    Da SebastianoFloridia nel forum C#
    Risposte: 10
    Ultimo Post: 31-03-2018, 17:49
  2. Risolto: File occupato da altro processo
    Da Arthur nel forum Visual Basic .Net
    Risposte: 2
    Ultimo Post: 04-12-2010, 17:33
  3. Risposte: 3
    Ultimo Post: 20-02-2008, 23:18
  4. copia file mdb occupato
    Da antonio75 nel forum Visual Basic 6
    Risposte: 1
    Ultimo Post: 18-06-2005, 18:40
  5. Spazio occupato
    Da Vale24 nel forum Microsoft Windows
    Risposte: 5
    Ultimo Post: 01-03-2005, 21:59