Problème Correction Date  Résolu Code
1 Erreur sur l'enregistrement de l'ocx Anyutton. Suppression de l'ocx AnyButton et remplacement par des boutons images   OK  
2 Surcharge des contrôles sur form principale Modification de la configuration, au lieu d'une frame sur la form principale, la configuration est sur sa propre form.
  OK  
3 Accessibilité des fichiers Ajout de la barre d’outils "Ouvrir fichier", "Nouveau fichier", "Modification catégories" sur la form principale (en haut à gauche).   OK  
4 Si l'on entre une adresse http dans la barre d'adresse celle-ci  s'efface     OK  
5 Autologin ne trouve pas certains champs sur certains sites Ajout de la base de données pour AutoLogin      
6 Envoi le mot de passe à autologin sous form de ***** envoi du mot de passe à autologin par text1(2) au lieu de label8(2) 20/12/2009 OK Call SendMessageByString(win, WM_SETTEXT, 0, Label8(3).Caption & " " & Label8(1).Caption & " " & Text1(2).Text & " " & Text11(0) & " " & Text11(1) & " " & Text11(2) & " " & Text11(3) & " " & Text11(4) & " " & Text11(5) & " " & Text11(6) & " " & Text11(7) & " ")
7 Ajout de l'application SPTool     OK Lancer SauvPass ou le faire apparaitre si il est caché en lancent SPTool. Communication entre application, si SP est lancé, il répond à SPTool, si pas de réponse > pas lancé, lancement de SP par SPTool, Peut être intégré dans la barre d'outils d'IE
8 Si SP lancé, ne répond pas à SPTool si réduit. Le message envoyé par SPTool n'est pas reçu par SP essayer en mettant Text16.Text = "SPTool" dans le if 20/12/2009
06/01/2010
OK 06/01/2010 : suppression de SPTool, voir modif N°15
Mis : SaveSetting App.Path & "\SauVpassV5.exe", "Communiquer", "App4", Str(Text1.hWnd)
au lieu de
SaveSetting App.Path & "\SauVpassV5.exe", "Communiquer", "App5", Str(Text1.hWnd)

dans SPTool (form_load) et win = Val(GetSetting(App.Path & "\SauVpassV5.exe", "Communiquer", "App4"))
 au lieu de win = Val(GetSetting(App.Path & "\SauVpassV5.exe", "Communiquer", "App5")) dans SP (Text16_Change)
9 Pas de barre de défilement dans les listes (list1, list5, list3), Le composant list n'a pas de barre horizontale Ajout d'une barre de défilement dans les listes   OK Ajout du module scrollhorizonlist
'place un sroll bar horizontal sur la liste
'placer après le chargement de la liste :
'ApplyScrollBar Me.hdc, List3
Private Declare Function DrawText Lib "user32" Alias "DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, _
                                                                  ByVal nCount As Long, lpRect As RECT, _
                                                                  ByVal wFormat As Long) As Long
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
                                     (ByVal hWnd As Long, ByVal wMsg As Long, _
                                      ByVal wParam As Long, lParam As Any) As Long
Private Const LB_SETHORIZONTALEXTENT = &H194
Private Const DT_CALCRECT = &H400
Private Const SM_CXVSCROLL = 2
Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type
Public Sub ApplyScrollBar(ByVal hdc As Long, MaListe As ListBox)
    Dim compteur As Long, Nlargeur As Long, LargText As Long, sysScrollWidth As Long
    Dim rcText As RECT
    sysScrollWidth = GetSystemMetrics(SM_CXVSCROLL)
    For compteur = 0 To MaListe.ListCount - 1
           DrawText hdc, MaListe.List(compteur), -1&, rcText, DT_CALCRECT
           LargText = rcText.Right + sysScrollWidth
           If LargText >= Nlargeur Then
                Nlargeur = LargText
           End If
    Next compteur
    SendMessage MaListe.hWnd, LB_SETHORIZONTALEXTENT, Nlargeur, ByVal 0&
End Sub
10 La form reduction ce met en haut à gauche de l'écran par moment ????? Ce met à la position de l'IDE de VB6
Voir problème 24 si résolu
11/06/20140 OK [positionreduc]
x=1215
y=1485
11 Sprescue ne répond plus par moment(après que sp est été caché) n'apparait plus et n'enregistre plus les modif Voir communication entre applications   OK Voir version 4.92
12 Version 4.92   06/01/2010 chgt version  
13 Sprescue ne répond plus par moment(après que sp est été caché) n'apparait plus et n'enregistre plus les modif Rescue est fermé à la première modif/supp/nouveau, vient de Splash avec la sécurité de fermer rescue au cas ou il est resté ouvert. Vient sans doute que l'on rappelle Splash pour le barragraphe dans nou1 06/01/2010
09/01/2010
OK Retiré le code de sécurité dans splash dans le form load, à revoir pour la remettre.
09/01/2010 : code remit voir correction N°20, on faisait des appelles à splash1 et on relançait la procédure donc on trouvait que rescue était lancé (par principale nou1),
14 Si on relance SauvPass, message "SauvPass est déjà ouvert" Vient de la protection pour éviter une 2eme instance du programme. Modification en vu pour supprimer SPTool 06/01/2010 OK Dans Splash ajout dans le form load :
'évite de démarrer une 2eme instance du prog
If App.PrevInstance = True Then
    ''''MsgBox "SauvPass déjà ouvert.", 16, "Ouverture de SauvPass V5"
win = Val(GetSetting(App.Path & "\SPTool.exe", "Communiquer", "App4"))
Call SendMessageByString(win, WM_SETTEXT, 0, "fermer")

    ''''End
GoTo Suite
    Else
Suite:
Dans principale  text16_change:
If Text16.Text = "fermer" Then
Image4_Click
End If

On envoi le message a sauvpass de ce fermer, il ce ferme la nouvelle instance redémarre à partir de Suite: , si on à cliqué sur un fichier dans l'explorateur la nouvelle instance ouvre le fichier, si on à cliqué sur sauvpass.exe la nouvelle instance redémarre sur le fichier ouvert avant.
Pour supprimer SPTool il faudrait que l'on regarde si le fichier est le même comme ca au lieu de fermer sp on le réaffiche.
15 Si on relance SauvPass, message "SauvPass est déjà ouvert" Suppression de SPTool Vient de la protection pour éviter une 2eme instance du programme. Modification en vu pour supprimer SPTool 06/01/2010 OK Modification du code par rapport à la modif N°14:
Dans Splash ajout dans le form load :
'évite de démarrer une 2eme instance du prog
If App.PrevInstance = True Then
   
If Command$ = "" Then 'pas double clic sur fichier
        win = Val(GetSetting(App.Path & "\SPTool.exe", "Communiquer", "App4"))
        Call SendMessageByString(win, WM_SETTEXT, 0, "visible")
        End
    Else 'double clic sur fichier

        win = Val(GetSetting(App.Path & "\SPTool.exe", "Communiquer", "App4"))
        Call SendMessageByString(win, WM_SETTEXT, 0, "fermer")
        ''''End
        GoTo Suite
    End If
Else
Suite:

Si command$ (=chemin du fichier si double clic dessus dans l'explorateur) est = vide : on a cliqué sur l'exe donc on envoi à l'instance ouverte de sauvpass de s'afficher puis on ferme la 2eme instance.
Si command$ <> de vide, c'est que l'on a cliqué sur un fichier, donc on envoi à la première instance de sp de se fermer on continu par le Suite: , et dans le load de principale on récupère command$ et on ouvre ce fichier
16 Si on ouvre SauvPass par un double clic sur un fichier dans l'explorateur, rescue reste sur le fichier qui est dans le ini si "ouvrir sur le dernier fichier" n'est pas coché Voir point 10 dans Sprescue V1   OK  
17 Dans principale nou1 on envoi des infos à Splash1 alors que celle-ci est peut être fermée Contrôle si splash1 est visible 06/01/2010 OK If Splash1.Visible = True Then …….
18 Pas d'association de fichier Remettre l'association de fichier 08/01/2010 OK Dans le load de principale:
'recreer l'association de fichier
'CreateAssociationFile(EXT As String, FileType As String, FileName As String, IconPath As String)
Call CreateAssociationFile(".su5", "SauvPassV5", App.Path & "\SauVpassV5.exe", App.Path & "\ClefFichier5.ico")
Call CreateAssociationFile(".su4", "SauvPassV4", App.Path & "\SauVpassV5.exe", App.Path & "\ClefFichier4.ico")
Call CreateAssociationFile(".suv", "SauvPassV3", App.Path & "\SauVpassV5.exe", App.Path & "\ClefFichier4.ico")


La fonction:
Public Sub CreateAssociationFile(EXT As String, FileType As String, FileName As String, IconPath As String)
    Dim b As Object
On Error Resume Next
    Set b = CreateObject("wscript.shell")
    b.RegWrite "HKCR\" & EXT & "\", FileType
    b.RegWrite "HKCR\" & FileType & "\", App.EXEName
    b.RegWrite "HKCR\" & FileType & "\DefaultIcon\", IconPath
    b.RegWrite "HKCR\" & FileType & "\shell\open\command\", FileName & " %L"
    b.RegDelete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\" & EXT & "\Application"
    b.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\" & EXT & "\Application", FileName
    b.RegDelete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\" & EXT & "\OpenWithList\"
    b.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\" & EXT & "\OpenWithList\a", FileName
End Sub
19 Si l'on clique sur un fichier version 3 ou 4 dans l'explorateur win, on ouvre sauvpass sur le fichier grâce à l'association de fichier mais le fichier n'est pas décodé, on ne passe pas par les convertisseurs version 3 ou 4. placer une détection dans le load de splash1 sur command$ et ouvrir un convertisseur au cas ou. 08/01/2010 OK
à retester
Dans le load de splash1:
Suite:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'controle la version du fichier(version 3 ou 4)si on ouvre un fichier en cliquant dans l'explorateur (association de fichier 3 et 4, il faut les convertir avant)
    ChaineAExtraire2 = ".su4"
    If InStr(1, Command$, ChaineAExtraire2) <> 0 Then
        version = 1
        dem = 1 'voir module démarrage, pour éviter de recharger splash1 avec nou1 de principale si on à déjà démarré
        MsgBox "Le fichier que vous essayez d'ouvrir est un fichier SauvPass version 4." & vbCrLf & "Vous devez le convertir en fichier version 5 pour pouvoir l'ouvrir."....
        'met le chemin du fichier version 4 dans le ini
        modINI.INIWrite "service", "pathv4", Command$ + "."
        convertisseur2.Show
        Unload Splash1
        Set Splash1 = Nothing
    End If
    ChaineAExtraire = ".suv"
    If InStr(1, Command$, ChaineAExtraire) <> 0 Then
        version = 1
        dem = 1 'voir module démarrage, pour éviter de recharger splash1 avec nou1 de principale si on à déjà démarré
        MsgBox "Le fichier que vous essayez d'ouvrir est un fichier SauvPass version 3." & vbCrLf & "Vous devez le convertir en fichier version 5 pour pouvoir l'ouvrir.".....
        'met le chemin du fichier version 3 dans le ini
        modINI.INIWrite "service", "pathv3", Command$ + "."
        convertisseur.Show
        Unload Splash1
        Set Splash1 = Nothing
    End If
''''''''''''''''''''''''''''''''''''''''''''''''''''

Dans le load de principale : comme on à ouvert sauvpass par clic sur fichier command$ n'est pas vide quand on recharge principale par les convertisseurs, on regarde si c'est pas un fichier version 3 ou 4 (normalement on l'a converti en version 5
'Chargement du fichier soit par double clic sur fichier ou par l'exe
ChaineAExtraire2 = ".su4"
If InStr(1, Command$, ChaineAExtraire2) = 0 Then 'on controle si c'est pas un fichier version4, car si on l'converti en double clic sur le fichier command = au fichier version4
ChaineAExtraire = ".suv"
If InStr(1, Command$, ChaineAExtraire) = 0 Then 'on controle si c'est pas un fichier version3, car si on l'converti en double clic sur le fichier command = au fichier version4
20 On fait des appelle à splash1 dans nou1 et load de principale, splash ce recharge Ajout d'une détection de démarrage (splash1,visible ne marche pas) 09/01/2010 OK Ajout du module "demarrage" pour avoir une variable "dem" qui sert dans tout le projet, dem =0 on fait des appelle à splash pendant le démarrage If dem = 0 Then Splash1.Image1.Width = 800 puis dem=1, plus d'appelle,
21 Dans la conversion du fichier en html, si le fichier est gros la form HTML ce bloque et le barrapgraphe n'avance plus Ajouter un DoEvents 09/01/2010 OK DoEvents dans Command1_Click()
22 Version 4.93   07/05/2010 Chgt version  
23 Ajout d'un choix dans la configuration à la fermeture du postit : afficher SauvPass; réduire dans la barre des tâches; réduire en icône, Ajout de 3 options dans la form de configuration + action à faire quand on clique sur le bouton fermer du postit 07/05/2010 OK  
24 Modification affichage de la form reduction (icône)
Voir problème 10
La position est afficher lors du load de réduction et plus par principale quand on clique sur le bouton réduction 07/05/2008 OK Reduction.Top = modINI.INIRead("positionreduc", "x")
Reduction.Left = modINI.INIRead("positionreduc", "y")

Ajouter au load de réduction
25 Si un fichier réseau est ouvert en lecture seul ou si la frame mot de passe ou la frame réseau sont affichées, on peu modifier les catégorie par le bouton de la barre d'outil en haut à gauche Dévalider le bouton en lecture seul 07/05/2010 OK  OK le 29/05/2010, si un fichier réseau avec mot de passe est ouvert, si l'administrateur rentre sont pseudo et passe le bouton réapparait quand la frame mot de passe est affiché (pas grave vu que c'est l'admin du fichier) A revoir dans "Private Sub Bvaliderreseau_Click()"
26 Ajout dans la form de gestion des catégories un tri manuel sur les catégories   10/05/2010 OK  
27 Si on modifie les catégories, SPrescue n'enregistre pas de sauvegarde   11/05/2010 OK         'communication entre application
 ' Pour faire fonctioner, créer l'executable de ce projet et lancer le .exe
Private Const WM_SETTEXT = &HC
Private Declare Function SendMessageByString& Lib "user32" Alias "SendMessageA" (ByVal hwnd&, ByVal wMsg&, ByVal wParam&, ByVal lParam$)
Dim win As Long
'enoi message a rescue pour dire qu'il faut sauver le fichier
    win = Val(GetSetting(App.Path & "\SauvPassRescue.exe", "Communiquer", "App1"))
    Call SendMessageByString(win, WM_SETTEXT, 0, " autosave ")

Ajouté dans la form de gestion des catégories le 29/05/2010
28 Ajout d'un tri manuel sur les enregistrements   20/05/2010 OK Bmonter_Click()
Bdescendre_Click()
29 Quand "Ne pas afficher les catégorie" est coché dans la configuration, la liste s'affiche mais les catégories ré-apparaissent à chaque modif du fichier ou à la ré-ouverture de sauvpass.   24/05/2010 OK  
30 En lecture seule le bouton gestion des catégorie reste affiché dans la form de configuration Ajouter un masque 29/05/2010 OK Bgestioncatfalse.Visible = True dans la form load
31 placer des me,enabled=false pendant les enregistrements   29/05/2010    
32 Lors d'un nouvel enregistrement les données d'autologin de l'enregistrement sélectionné au paravent sont enregistrés Effacement des champs pour un nouvel enregistrement + mise à jour baragraphe autologin 29/05/2010 OK  
33 Enregistrement (catégorie inexistante ou supprimée) Ajout d'un icon spécial avec un ? 29/05/2010 OK  
34 Lenteur à l'enregistrement Suppression de text6.text et ajout d'un RichTextBox (3fois + rapide)(appelée text6) à la place,(le RTB est déjà dans AutoLogin donc fourni avec SauvPass) 03/06/2010 OK  
35 Après ajout ou modification ou déplacement d'un enregistrement si le treeview affiche le scroll, on est obliger de scroller manuellement pour voir l'enregistrement sélectionné, Ajout de "tvw.SelectedItem.EnsureVisible" à chaque sélection du treeview 03/06/2010 OK     tvw.Nodes("n" & Text2.Text + 1).Selected = True
    tvw.Nodes("n" & Text2.Text + 1).Expanded = True
    tvw.SelectedItem.EnsureVisible 'scroll le treeview pour rendre la sélection visible
36 Impossible de monter une adresse dans la frame gestion des adresse j = List9.ListIndex - 1 06/06/2010 OK Le -1 avait été supprimé!!!
37 Si le treeview pert le focus on ne vois plus la sélection du treeview (sauf l'icon qui change   10/06/2010 OK modification de la propriété des treeview "tvw.hideselection=false" et "tvw2.hideselection=false"
38 Ajout d'un N° d'index au fichier sur 10 digits créé aléatoirement Pour les versions futures 14/06/2010 OK L'index est créé à chaque nouveau fichier + une vérification dans nou1 pour voir si la clé existe,
39 Ajout d'une clé d'index à chaque catégories sur 10 digits créé aléatoirement Pour les versions futures 15/06/2010 OK La clé est créée à chaque nouvelle catégorie et un test à l'ouverture de la form catégorie test si la clé est présente et la créé si nul
40 Créer une nouvelle catégorie: si la catégorie existe déjà on à une msgbox au niveau du bouton enregistrer puis retour en arrière, chgt du nom et des que l'on retourne sur le bouton "Enregistrer" le cusseur est en sablier, Ajout de Benregistrernouveau.MousePointer = 0 après la msgbox 03/01/2011 OK  
41 Si pendant la modification d'un enregistrement on clique sur " Cacher les mots de passe ****" les boutons autologin réapparaissent Suppression du List1_Click dans le Private Sub Check6_Click() 03/01/2011 OK Rajout de Label8(2).Caption = Text1(2).Text dans le Check6_Click()
42 Version 5.00   03/01/2011 chgt version  
43 Si le champ adresse est vide on peu quand même cliquer sur le bouton "Aller à l'adresse" Contrôle le champ adresse et contrôle si on est pas en modification ou création (Nouveau) 04/01/2011 OK If Frame2.Visible = False Then
If Frame3.Visible = False Then
If Label8(3).Caption <> "" Then
If Text1(3).Text <> "" Then

Sur le bouton "Aller à l'adresse et sur le label (label6) Adresse
44 Si on efface une catégorie, la dernière s'efface aussi. Remplacement dans Bsupprimercat_Click() de List2.ListCount - 2 par List2.ListCount - 1 04/01/2011 OK et ajout de "temp5 = Split(List2, ",")(4) 'id" dans recherche si enfant et les mets en parent le plus proche
45 correction de : évite de démarrer une 2eme instance du prog Remis communiquation entre application via text16 de principale, Sauvpass communique avec sauvpass si déjà ouvert 04/01/2011 OK  
46 Session bloquée et fermée par l'administrateur : si on clique sur Ré-ouvrir le bouton gestion des catégorie en haut à gauche ce ré-affiche réaffiche le masque Bcategorieoff dans nou1 04/01/2011 OK If Split(principale.Text23.Text, "¤")(11) = "1" Then Frame19.Visible = True: Bcategorieoff.Visible = True  'afficher form catégorie menu en haut a gauche
47 Si aucune adresse ou adresse d'identification n'est rentrée, Autologin affiche une page IE vide Controler les champs d'adresses 04/01/2011 OK Quand clic sur bouton "AutoLogin" : Private Sub Bautologin_Click()
If (Text11(0).Text = "" And Text1(3).Text = "") Then