Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    riavvio automatico programma

    Come faccio a far riavviare il mio programma dopo aver modificato delle cose tipo il percorso del db access?

    Spiego qual'è il problema:

    nel programma ho messo la possibilità di modificare il percorso del db, e modificandolo nel file di configurazione app.config, il problema e che dopo aver fatto questo cambiamento mi tocca per forza chiudere il programma e riaprirlo per rendere effettive le modifiche altrimenti non va più niente. però volevo che almeno il riavvio dell'applicativo sia automatico!!!

    oppure un'altra soluzione del perchè dopo aver modificato il percorso del db non riesco + a leggere dal db?

    Ciao e grazie
    David

  2. #2
    ho risolto mettendo prima dell'application.exit()

    Dim Processo As Process = New Process()
    Try
    Processo.Start(Application.ExecutablePath())
    Catch ex As Exception
    End Try

    Secondo voi è corretto o potrebbe dare problemi???

    ciao david

  3. #3
    forse ti chiedo troppo, però mi interesserebbe il codice con il quale gestisci i percorsi dei db.

    con access 2003 facevo questo controllo all'avvio:

    Private Sub Form_Load()
    Dim tdf As TableDef
    Dim M1, sw1 As String

    sw1 = "N"
    For Each tdf In CurrentDb.TableDefs
    If Len(tdf.Connect) > 0 And tdf.Fields.Count = 0 Then sw1 = "S"
    Next tdf

    If sw1 = "S" Then
    M1 = "Non è stato trovato il file dei dati: ASIspa_be.mdb"
    M1 = M1 & vbCr & vbCr & "Individuare il percorso ed aprire il file per poter proseguire."
    MsgBox M1, vbCritical

    On Error GoTo Errore_Collegamento
    Call ShowFile(Me, fb)
    fName = Left(fb.lpstrFile, InStr(fb.lpstrFile, vbNullChar) - 1)

    For Each tdf In CurrentDb.TableDefs
    If tdf.Name = "Contabilità" Then
    tdf.Connect = ";DATABASE=" & fName & ";PWD=" & "fantomas"
    tdf.RefreshLink
    End If
    If tdf.Name = "ElencoPrezzi" Then
    tdf.Connect = ";DATABASE=" & fName & ";PWD=" & "fantomas"
    tdf.RefreshLink
    End If
    '... omissis...
    Next tdf
    MsgBox "Collegamento della tabella dei dati riuscito !!", vbInformation
    End If
    Exit Sub


    Exit_Errore_Collegamento:
    Application.Quit

    Errore_Collegamento:
    If Err.Number = 3321 Then
    MsgBox "Non essendo stata selezionata la Tabella dei dati," & vbCr & vbCr & "l'Applicazione sarà chiusa!", vbCritical
    Resume Exit_Errore_Collegamento
    End If
    If Err.Number = 3078 Then
    MsgBox "Il file selezionato non è la tabella dei dati, oppure la tabella è danneggiata!" & vbCr & vbCr & "L'applicazione sarà chiusa.", vbCritical
    Resume Exit_Errore_Collegamento
    End If

    MsgBox Err.Number & vbCr & Err.description
    Resume Exit_Errore_Collegamento

    End Sub

    Grazie comunque in anticipo.

  4. #4
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    System.Windows.Forms.Application.Restart()


    Arresta l'applicazione e avvia immediatamente una nuova istanza.

    usa questo...

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    21

    [VB.NET]

    Devo anch'io riavviare il programma perchè se no non funziona ma non posso scrivere ciò:
    codice:
    System.Windows.Forms.Application.Restart()
    perchè non esiste il Restart().

  6. #6
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    esiste esiste....

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    68
    no

    esiste forse nel .2005
    ma nel 2003 no.

    oppure è un probelma di framework
    visot che richiede la 2.0

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