Fenêtre bloquée

Résolu
Signaler
Messages postés
222
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
30 mars 2016
-
Messages postés
222
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
30 mars 2016
-
Salut,

Comme je le disais dans un précédent post j'ai une fenêtre que je n'arrive pas à fermer. En fait il semble que ce soit la procédure unload qui ne marche pas. Y a t-il un moyen de savoir ce qui empêche sa fermeture ?

Vince

27 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
tu m'ôtes les mots de la bouche :p
sauf que DOSClass y est.
pour plus de détail, édite ton fichier vbp, voir contenu de 'Divers Visual'
manque aussi apparemment AVRC_GCC.BTL
Messages postés
222
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
30 mars 2016

Salut,



   Bon je pense que j'ai tout mis dans le même répertoire ce coup ci et j'ai refais le projet.
pour plus de détail, édite ton fichier vbp, voir contenu de 'Divers Visual'
Là je ne vois rien dedans mais j'utilise MZ-tools
manque aussi apparemment AVRC_GCC.BTL
Je n'en ai pas trace et je ne me souviens pas l'avoir créé.
Le nouveau est AVR-pour pcpt -2.rar ici.


Vince
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
ton soucis, c'est la fenetre FPort, qui se charge, mais n'est pas déchargée...

elle est chargée a cause de :
    FPort.TPorts.Caption = "Port " & Port(0)

en changeant ta procédure FermerLAppli, tu n'aura plus de soucis :

Public Sub FermeLAppli(ClassName As String, Titre As String)
' par le nom de la fenêtre
'exemple :     FermeLAppli vbNullString, "Configuration des outils"

    Dim ProcessHandle As Long
    Dim ProcessId As Long
    Dim Appli As Long
    Dim F As Form
    Const PROCESS_TERMINATE = 1
   
    'Arrêt systématique en mode debuggage
    If CBool(App.LogMode) Then
        Appli = FindWindow(ClassName, Titre)
        GetWindowThreadProcessId Appli, ProcessId
        ProcessHandle = OpenProcess(PROCESS_TERMINATE, False, ProcessId)

        'A revoir ça ne marche pas Peutêtre par un passage de valeur à l'autre qui fermerait celle ci ???
        FenConfiguration.Show
        If FenetreExistante <> 0 Then
            Call FenêtreDevant(FenetreExistante)
        End If
        TerminateProcess ProcessHandle, 4
    End If
    For Each F In Forms
        Unload F
    Next F
End Sub

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
c'est la course? ....

chez moi il manque encore qqc ....

feuille assistante :
Ligne 430: Impossible de charger le contrôle ListeModèle.
Ligne 450: Impossible de charger le contrôle CBHeure.
Ligne 470: Impossible de charger le contrôle CBDate.
Ligne 952: Impossible de charger le contrôle CBBaud.
Messages postés
222
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
30 mars 2016

Salut,



   Là vous êtes géniaux. Merci à tous les deux. Le bug et la démarche pour le trouver et en bonus la correction. C'est le bug et l'argent du bug.

Ligne 430: Impossible de charger le contrôle ListeModèle.
Ligne 450: Impossible de charger le contrôle CBHeure.
Ligne 470: Impossible de charger le contrôle CBDate.
Ligne 952: Impossible de charger le contrôle CBBaud.
Ce sont des contrôles ownerDraw. Si tu veux je te met l'ocx (vbalODCL6.ocx).

J'essaye ça et je coche en résolu.



Vince
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
vbalODCL6.ocx est bien présent (je ne l'avais pas enregistré)
bizarre pas de message d'erreur à l'ouverture du projet....
Messages postés
222
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
30 mars 2016

Salut,



   Bon ça marche. Pcpt m'avait donné ça dés le début :

Dim Frm As Form
For Each Frm In Forms
    Unload Frm
Next Frm

Et ça ne marchait pas. Mais entre temps j'avais trouvé un autre bug sur un timer et je n'avais pas pensé à réessayer.

Merci encore.


Vince