Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 20 su 20
  1. #11
    Utente di HTML.it L'avatar di Rickycast
    Registrato dal
    Apr 2007
    residenza
    CHIERI (TO)
    Messaggi
    240
    Quote Originariamente inviata da alka Visualizza il messaggio
    Non è chiaro se parlando di "Soluzione lenta in avvio" ti stai riferimento al fatto che è lento il caricamento in Visual Studio oppure se l'applicazione (eseguibile) che si avvia lentamente.
    Credo di avere intuito che la lentezza in avvio di cui parlo non dipende da Visual Studio, ma dal fatto che probabilmente ho chiesto al sistema di aprire(o di riferirsi) in avvio al DB in cui sono contenute tutte le Tabelle, che sono veramente molte e pesanti. Ovviamente andando avanti con il lavoro ne ho anche aggiunte e quindi, ...
    Me ne sono accorto perché se chiedo l'Avvio mentre il DB è aperto, mi da un errore ma contestualmente apre subito la Form iniziale. È possibile che sia così?
    In questo caso, visto che non credo di avere bisogno che il DB sia linkato, è evidente che ho fatto qualcosa di sbagliato: dove dovrei guardare per verificare se è così e poi eliminare questo link?

  2. #12
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,809
    stavo per suggerirti di controllare quale provider (namespace) usi per connetterti al DB...

    che significa "ho chiesto al sistema di aprire..." ?

    che connectionstring stai usando ed inoltre che significa "tabelle che istanzio all'occorrenza" ?

  3. #13
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    23,835
    Quote Originariamente inviata da Rickycast
    Credo di avere intuito che la lentezza in avvio di cui parlo non dipende da Visual Studio
    Non può dipendere in alcun modo da Visual Studio, poiché la gestione del progetto all'interno dell'IDE è del tutto slegata dalle tempistiche di esecuzione del programma una volta lanciato, escludendo quando ci si aggancia allo stesso per questioni di debugging.

    Quote Originariamente inviata da Rickycast
    ma dal fatto che probabilmente ho chiesto al sistema di aprire(o di riferirsi) in avvio al DB in cui sono contenute tutte le Tabelle, che sono veramente molte e pesanti. Ovviamente andando avanti con il lavoro ne ho anche aggiunte e quindi, ...
    Se all'avvio del tuo programma hai inserito un caricamento in memoria di dati e hai via via aggiunto nuovi dati da caricare, è normale che il tempo necessario ad effettuare questo caricamento rallenti l'avvio del programma.

    Quote Originariamente inviata da Rickycast
    Me ne sono accorto perché se chiedo l'Avvio mentre il DB è aperto, mi da un errore ma contestualmente apre subito la Form iniziale. È possibile che sia così?
    Probabilmente ti viene restituito un errore perché il caricamento fallisce, magari perché stai aprendo il file in modalità esclusiva e avendolo già aperto altrove, questo processo fallisce ma non impedisce la visualizzazione della finestra principale del programma.

    Mi aspetto quindi che, al netto del tempo di avvio ridotto, tu abbia comunque delle ripercussioni sul funzionamento del programma in seguito, altrimenti significa che all'avvio stai caricando inutilmente dei dati che non ti servono.

    Ovviamente, senza vedere codice né approfondire la problematica, difficile dire di più.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Homepage | Blog | Delphi Podcast | Altri link...

  4. #14
    Utente di HTML.it L'avatar di Rickycast
    Registrato dal
    Apr 2007
    residenza
    CHIERI (TO)
    Messaggi
    240
    Quote Originariamente inviata da alka Visualizza il messaggio

    Ovviamente, senza vedere codice né approfondire la problematica, difficile dire di più.
    Ovvio, ma non saprei proprio che codice mostrare: è talmente tanto,...
    Provo a rispondee a djciko per cominciare.

  5. #15
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    23,835
    Quote Originariamente inviata da Rickycast Visualizza il messaggio
    Ovvio, ma non saprei proprio che codice mostrare: è talmente tanto,...
    Ovviamente quello interessato dal problema, ad esempio quello che viene eseguito all'avvio del programma oppure quello nel punto in cui viene sollevato l'errore quando i dati sono già aperti.

    In effetti, non ha neanche molto senso in questo caso parlare di codice: se il programma l'hai scritto tu, deciderai tu di quali dati hai bisogno fin dall'inizio dell'esecuzione del programma, o quali puoi caricare in un secondo momento, magari perché si riferiscono a funzionalità che potrebbero non essere nemmeno richiamate o di uso meno comune.

    Il motivo per cui carichi quei dati, la quantità di dati in sé e tutto il resto sono scelte tue.

    Quello che denunci non è un vero problema, ma un normale effetto: se ritieni che l'avvio sia troppo lento, intervieni come detto sulla quantità di dati che carichi all'avvio.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Homepage | Blog | Delphi Podcast | Altri link...

  6. #16
    Utente di HTML.it L'avatar di Rickycast
    Registrato dal
    Apr 2007
    residenza
    CHIERI (TO)
    Messaggi
    240
    Quote Originariamente inviata da djciko Visualizza il messaggio
    stavo per suggerirti di controllare quale provider (namespace) usi per connetterti al DB...

    che significa "ho chiesto al sistema di aprire..." ?

    che connectionstring stai usando ed inoltre che significa "tabelle che istanzio all'occorrenza" ?
    Chedo scusa fin da ora per le improprietà di linguaggio.
    " ho chiesto di aprire..." nell'elenco dei moduli e delle Form del progetto trovo anche "ArcSisVBNetServerDataSet.xsd" che non mi ricordo di avere in serito e che non so cosa sia. So solo che il mio DB si chiama "ArcSisVBNetServer". Potrebbe essere una causa?

    Utilizzo la seguente Connection string: "Provider=Microsoft.ACE.OLEDB.12.0;Persist Security Info=False;Data Source=" con la quale mi connetto a "S:\ArcSisVBNet\ArcSisVBNetServer.accdb" ma anche a "C:\SisVBNet\ArchSis.accdb"

    Ho scelto perché mi sembrava più logico provenendo io da Access 2000, di utilizzare soprattutto le Query e quindi utilizzo quanto in esempio:

    codice:
                sSQLAccess = "DELETE Prodotti.* FROM Prodotti"
                rsProdotti.Open(sSQLAccess, CnDBServer, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)

    A questo mi riferivo quando ho scritto "tabelle che istanzio all'occorrenza". Scusatemi,...
    In fondo a tutto, però il mio progetto funziona e fa esattamente quello che mi serve, solo ci mette molto ad avviarsi ed i miei utilizzatori non hanno pazienza, accidenti a loro!!!

  7. #17
    Utente di HTML.it L'avatar di Rickycast
    Registrato dal
    Apr 2007
    residenza
    CHIERI (TO)
    Messaggi
    240
    Quote Originariamente inviata da alka Visualizza il messaggio
    ..... se ritieni che l'avvio sia troppo lento, intervieni come detto sulla quantità di dati che carichi all'avvio.
    Il fatto è che consapevolmente non ho "caricato" nulla. I miei dati stanno sul DB e io attingo ad essi con le Query che ho appena descritto, a seconda delle necessità. In ogni caso mi sono premurato di chiudere ogni connessione appena ne termino l'utilizzo, anche perchè se non lo avessi fatto avrei ottenuto (come ho ottenuto) un sacco di errori.

  8. #18
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    23,835
    Quote Originariamente inviata da Rickycast Visualizza il messaggio
    Il fatto è che consapevolmente non ho "caricato" nulla. I miei dati stanno sul DB e io attingo ad essi con le Query che ho appena descritto, a seconda delle necessità. In ogni caso mi sono premurato di chiudere ogni connessione appena ne termino l'utilizzo, anche perchè se non lo avessi fatto avrei ottenuto (come ho ottenuto) un sacco di errori.
    Se avvii il tuo programma usando il debugger di Visual Studio eseguendo una istruzione alla volta, cioè facendo il debug passo per passo con i comandi Step Over/Step Into, vedrai quali sono i metodi che richiedono più tempo per poter essere eseguiti.

    A parte questo, se non hai il controllo di ciò che avviene con il tuo programma, o non sai il significato dei file che hai inserito al suo interno o a cosa servono i file di progetto, non è che ci sia molto da fare: suggerisco di prendere un manuale o comprare un corso e studiare un po' di documentazione, perché ovviamente la padronanza e la conoscenza del linguaggio e dei componenti che usi in Visual Studio non è una idea innata filosoficamente parlando e non ti arriverà per magia calata dall'alto nella tua mente.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Homepage | Blog | Delphi Podcast | Altri link...

  9. #19
    Utente di HTML.it L'avatar di Rickycast
    Registrato dal
    Apr 2007
    residenza
    CHIERI (TO)
    Messaggi
    240
    Quote Originariamente inviata da alka Visualizza il messaggio
    A parte questo, se non hai il controllo di ciò che avviene con il tuo programma, o non sai il significato dei file che hai inserito al suo interno .....
    Anche questo è ovvio. Ho già un bel manuale di Francesco Balena che "provo" a consultare,.....
    Io comunque credo di sapere cosa ho scritto e cosa esegue ogni riga; certo non ho avuto la fortuna di crescere giorno per giorno insieme al software e questo è sicuramente un grosso handicap perchè chi lo sa quante nozioni e informazioni che sarebbero state utili mi sono perso per la strada. Adesso recuperare è davvero dura anche perché questo non è il solo "mestiere" che mi tocca portare avanti.
    Portate pazienza ma ci sono anche quelli come me; e pensare che il primo linguaggio che ho imparato si chiamava APT ed era il 1976.
    Sì, proprio il 1976.

  10. #20
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,809
    se le performance sono cambiate senza fare nulla, potrebbero anche essere i windows update che hanno cambiato qualcosa, la butto li'...

    per il resto in Visual Studio, in debug (avanzando con F11, non con F10), puoi aprire la finestra "Strumenti di diagnostica". Ci arrivi anche cliccando sul tempo di esecuzione che vedi a fianco ad ogni istruzione.

    Cosi' puoi vedere quale istruzione impiega piu' tempo per risolversi...


    "xsd" è uno schema xml comunque

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 © 2021 vBulletin Solutions, Inc. All rights reserved.