Relance application

Résolu
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 27 mars 2015 à 20:58
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 28 mars 2015 à 06:54
Bonsoir le Forum,

Toujours dans ma translation d'une appli hta-vbs en vb.net.

Je souhaiterai créer un bouton qui relance l'application.

Explication:
Lors du load de l'appli, certains boutons vont être mis en disabled si fichiers inexistants.
Je demande donc, via Me.ErrorProvider1.SetError, à l'utilisateur de créér ces fichiers, puis de relancer l'appli avec le bouton "Relaunch".

En hta-vbs, j'utilisais :
Sub ButtonRelaunchApp_OnClick()
' Relance script HTA
Location.Reload(True)
End Sub


Je ne trouve pas l'équivalent en .Net.

Merci de vos suggestions,
jean-marc

8 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 mars 2015 à 21:23
Je ne comprends pas vraiment l'intérêt de tout relancer, Jean-Marc .
Tu nous dis que :
-
Lors du load de l'appli, certains boutons vont être mis en disabled si fichiers inexistants

et que :
-
Je demande donc, via Me.ErrorProvider1.SetError, à l'utilisateur de créér ces fichiers, puis de relancer l'appli avec le bouton "Relaunch".

Ce qui donne à supposer que tu souhaites que la procédure qui inhibe ou autorise ces boutons soit relancée.
Pourquoi ne pas alors la relancer, sans même quitter ton application ?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 27/03/2015 à 21:42
Ton souci est peut-être que tu veux éviter de créer à nouveau des boutons déjà créés dynamiquement ?
Quà cela ne tienne : ===>>
Une variable boléenne générale DEJA que tu mets à True lors de leur création.
Ensuite :
1) si DEJA ===>> tu ne crées pas à nouveau
2) Que DEJA soit True ou false ===>> tu décides d'inhiber ou non (toujours vrai, que ce soit lors de la première exécution ou lors d'exécutions suivantes).

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
27 mars 2015 à 21:54
Désolé, post raté !!!
Dans le post de 21:44, il faut comprendre :

Ce que je souhaite pas, est que lambda :
- ferme pas l'appli avec le bouton Quit;
- lance, via un automate, le script de création de fichiers;
- se reconnecte et relance l'application via raccourci deskop.

Ce que je souhaite, est que lamba:
- suite au message "Me.ErrorProvider1.SetError" ne ferme pas l'appli;
- lance un script sur un serveur;
- fait un refresh de l'appli via le bouton "relance".


jean-marc
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
27 mars 2015 à 21:44
Bonsoir Jacques,

Pourquoi ne pas alors la relancer, sans même quitter ton application ?

Je ne souhaite pas que lambda ferme l'application, lance via un automate un script qui va créer et déposer sur le serveur les fichiers manquants, puis relance l'application.

Mes tests en .Net:
- rename fichier "toto" en "test_toto";
- lancement de l'appli;
- Tooltip "fichier manquant ... lancer le script tata puis faire relance de l'appli".
- j'ai renommé mon fichier "test_toto" en "toto";
- dans l'appli avec un bouton .restart(), l'appli ne s'est réinitialisée et le fichier "toto" pourtant présent a provoqué l'erreur "fichier inexistant".

En vbs, je n'avais pas ce problème.

Mon souhait est que lambda :
- ne ferme pas l'appli avec le bouton Quit;
- lance, via un automate, le script de création de fichiers;
- se reconnecte et relance l'application via raccourci deskop.

En vbs, le "Location.Reload(True)" permettait de réiinitialiser les variables et relancer l'appli donc en re-vérifiant toutes les variables.

jean-marc
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
27 mars 2015 à 22:11
Jacques,

Mon souci des boutons est résolu (Le Pivert et ucfoutu)

Exemple de l'une des fonctions de création de boutons.

Private Sub CreateButtonsSaveClient()
' Création du Label et des boutons pour la génération des Consignes par client
Dim ToolTip1 As New ToolTip(components)
Dim MyLabel2 As New Label()
Dim pair As KeyValuePair(Of String, String)
Dim count As Integer = 0
Dim intPos As Integer = 110

MyLabel2.Location = New Point(245, 80)
MyLabel2.Text = "Consignes Client [Toutes]"
MyLabel2.AutoSize = True
Me.Controls.Add(MyLabel2)

For Each pair In Customers
count = 0
If pair.Key <> "SAVEMUTU" Then

If FileExists(PathTeam & pair.Key & PathPDP & FilePDP & FileTypeExcel) = True Then
Try
cn.ConnectionString = ConnectingExcel(PathTeam & pair.Key & PathPDP & FilePDP & FileTypeExcel)

Dim MyQuery As String = " SELECT Job FROM [Jobs$] WHERE [Job] IS NOT NULL"
cn.Open()
da = New OleDb.OleDbDataAdapter(MyQuery, cn)
da.Fill(ds, "Job")
count = ds.Tables(0).Rows.Count.ToString
da.Dispose()
ds.Clear()
cn.Close()
Catch ex As Exception
MessageBox.Show(PathTeam & pair.Key & PathPDP & FilePDP & FileTypeExcel & _
vbCrLf & vbCrLf & ex.Message, "CreateButtonsSaveClient")
cn.Close()
Finally
End Try
End If

' Création dynamique des boutons sur Form1
Dim MyButton As New Button()
MyButton.Location = New Point(245, intPos)
MyButton.Height = 40
MyButton.Width = 150
MyButton.Text = pair.Key & " ( " & count & " )"
MyButton.Name = MyLabel2.Text
MyButton.Tag = pair.Value
MyButton.BackColor = Color.Aquamarine
MyButton.TextAlign = ContentAlignment.MiddleLeft
intPos = intPos + 42

' Si le fichier est vide, le bouton est désactivé
If count = 0 Then
MyButton.Enabled = False
Me.ErrorProvider1.SetError(MyButton, "Pour générer les consignes du client " & pair.Key & _
" ,vous devez d'abord générer le Plan de Production du client car fichier absent")
ElseIf FileExists(PathTeam & pair.Key & PathPDP & FileInfo & FileTypeExcel) = False Then
MyButton.Enabled = False
Me.ErrorProvider1.SetError(MyButton, "Le fichier " & """" & FileInfo & FileTypeExcel & """" & _
"de " & pair.Key & " n'existe pas, vous ne pouvez pas générer les consignes. effectuer le MOP xxxx pour créer le fichier manquant")
End If

Me.Controls.Add(MyButton)
AddHandler MyButton.Click, AddressOf MyButton_Click
End If
Next
End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
27 mars 2015 à 22:38
Ci-dessous le lancement de l'appli :
    ' Lancement de Form1
Public Shared Sub Main()
Application.Run(New Form1())
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Location = New Point(50, 10)
' Declenchement du Timer pour affichage Date & Heure
Timer1.Interval = 1000 'Timer1_Tick sera déclenché toutes les secondes.
Timer1.Start()

If FileExists(PathTeam & PathConfig & FileConfig) = True Then
' Ajout dynamique des boutons sur Form1
CreateButtonsPDP()
CreateButtonsSaveClient()
CreateButtonsSaveClientDelta()
CreateButtonsSaveMutu()
Else
MessageBox.Show("Le fichier " & """" & PathTeam & PathConfig & FileConfig & """" & " n'existe pas !!!")
Application.Exit()
End If
End Sub

jean-marc
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 mars 2015 à 06:19
En vbs, le "Location.Reload(True)" permettait de réiinitialiser les variables et relancer l'appli donc en re-vérifiant toutes les variables

Et où est placé ce "bouton de relancement" ? Si dans l'appli de départ, le principe que je t'ai exposé le permet sans problème.
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
28 mars 2015 à 06:48
Bonjour Jacques,

Sur le Form1, j'ai :
- 1 bouton "btnRelaunch_Click"
- 1 bouton "btnExit_Click" (Me.Close)
- 1 label (affiche date & heure avec un Timer1_Tick)
- 1 timer
- 1 errorProvider

Les labels et boutons sont créés dynamiquement, dans Form1, après lecture de plusieurs fichiers.

Je souhaiterai que clic sur bouton "btnRelaunch_Click" me relance Form1 et me recréé donc les labels et boutons dynamiques.

Je ne trouve pas sur le net cette syntaxe de relance de Form1.

jean-marc
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
28 mars 2015 à 06:54
syntaxe trouvée : System.Windows.Forms.Application.Restart()

Merci Jacques de ton aide et bonne journée.

@+
jean-marc
0
Rejoignez-nous