Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di SigAlexey
    Registrato dal
    May 2014
    residenza
    Treviso
    Messaggi
    186

    [VB.NET] Controllare se il file è stato completato

    Buongiorno, ho bisogno un aiuto riguardo questo problema.

    Ho un file rpn che devo inviare ad una stampante.
    Questo file viene creato da un programma secondario di cui non ho il controllo.
    Praticamente, nel momento in cui questo file è stato creato e completato, lo invio alla stampante.

    Il problema sorge quando la richiesta di invio alla stampante viene effettuata quando il file è stato creato ma non ancora completato (è un file di 70Mb e quindi non è immediato).

    Praticamente quando succede, va in errore il secondo programma, mentre l'invio alla stampante va a buon fine, ma mi stampa solamente mezzo file, quello che era riuscito a creare prima che venisse fatta la richiesta.

    Detto ciò, avrei bisogno di sapere come capire se un file è in utilizzo da un altro processo o comunque se non è completato.

    Ho già provato:

    codice:
                        Dim fs As FileStream = File.Open(fi(0).FullName, FileMode.Open, FileAccess.ReadWrite, FileShare.None)
                        fs.Close()
    ma non da alcun errore, mi permette di eseguire il ciclo senza interruzioni

  2. #2
    forse potresti seguire un'altra strategia, controllando la data di modifica del file: se non varia da un tot di minuti (che dipende da quanto tempo al massimo può metterci l'altro processo) verosimilmente l'altro processo ha finito

  3. #3
    fossi i te proverei con il FileSystemWatcher https://docs.microsoft.com/it-it/dot...ew=netcore-3.1

    monitorando l'evento Changed e con NotifyFilter = NotifyFilters.LastWrite;

    Dovresti avere due notifiche per il file ( od ogni file che viene creato);
    la prima quando viene creato e la seconda *suppongo* poco prima che termini la scrittura
    e sia disponibile per te

    HTH

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.