J'ai demandé il y a quelque temps sur ce forum une façon de faire afin
d'empêcher l'application de fonctionner si elle était installer ailleurs que
dans un répertoire X.
Voici ce que j'ai reçu comme réponse :
Dans un module:
Public Sub Protection(frm as Form)
Dim NomBase as String, DLC as boolean
DLC = True
NomBase = CurrentDB.Name
If NomBase <> "C:\TrucMachin\MaBase.mdb" Then DLC = False
End Sub
Puis dans la procédure associée à l'évènement 'sur ouverture' du formulaire
de démarrage:
Protection Me
If DLC = False Then
msgbox "insulte de ton choix"
DoCmd.Quit
End If
Or cette procédure ne fonctionne pas pour plusieurs raisons, dont entre
autres la variable DLC qui n'est pas déclaré dans le formulaire de
démarrage.
Peu importe, j'ai modifié le code ci-dessus pour donner celui ci-dessous :
Private Sub Form_Open(Cancel As Integer)
Dim NomBase As String
Dim DLC As Boolean
DLC = True
NomBase = CurrentDb.Name
If NomBase <> "C:\test\test.mdb" Then DLC = False
If DLC = False Then
MsgBox "insulte de ton choix"
DoCmd.Quit
End If
End Sub
Or, à la lumière de ce qui précède, le code que j'aie modifié fonctionne
très bien sauf que le module est rendu inutile puisque la totalité du code
est placé sur l'évènement ouverture du formulaire de démarrage.
Mes questions :
En cachant les éléments de la base de données et en désactivant la touche
SHIFT au démarrage, est-ce que cela est suffisant pour forcer l'utilisateur
à installer l'application dans un répertoire X prédéterminé ?
Pourquoi est-ce que le module n'est plus nécessaire ?
Quel était l'erreur dans le code en haut de ce message ?
Est-ce qu'il y a une solution de rechange ou une meilleure solution, voire
où le code serait plutôt dans le module ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
René Descartes
Merci !
"Logipro" a écrit dans le message de news: YV2Ua.10975$
Bonjour Stéfanie,
Pour une protection optimale je te suggère de convertir ton appli en .mde ensuite comme tu dit de la verrouillée avec le "Shift" et d'utiliser ta fonction pas seulement au démarrage mais à l'ouverture de quelque formulaire
principale de ton appli. donc ton DLC pourrait soit devenir global ou bien utiliser une fonction comme ceci :
Dans un module : Public Function DroitAcces() as boolean Dim NomBase as String NomBase = CurrentDB.Name If NomBase <> "C:TrucMachinMaBase.mdb" Then Protection = False else Protection = True endif End Sub
Sur ouverture de quelques formulaires : Private Sub Form_Open(Cancel As Integer) if DroitAccesúlse then docmd.quit End sub
P.S Le "Hard codage" n'est pas une technique très élégante dans une application, l'idéale est plutôt d'encrypter le chemin dans la base de registre, de cette façon ça évite de modifier ton application, une sollution aussi est de donner à l'usager une clé d'activation pour chaque installation, un exemple sur mon site : http://www.logicielappui.com/tips/Acc97_Shareware.zip
Salutation et bonne continuation !
Robert Simard Logipro
"René Descartes" a écrit dans le message de news:EJ0Ua.9703$
Bonjour,
J'ai demandé il y a quelque temps sur ce forum une façon de faire afin d'empêcher l'application de fonctionner si elle était installer ailleurs que
dans un répertoire X.
Voici ce que j'ai reçu comme réponse :
Dans un module: Public Sub Protection(frm as Form) Dim NomBase as String, DLC as boolean DLC = True NomBase = CurrentDB.Name If NomBase <> "C:TrucMachinMaBase.mdb" Then DLC = False End Sub
Puis dans la procédure associée à l'évènement 'sur ouverture' du formulaire
de démarrage: Protection Me If DLC = False Then msgbox "insulte de ton choix" DoCmd.Quit End If
Or cette procédure ne fonctionne pas pour plusieurs raisons, dont entre autres la variable DLC qui n'est pas déclaré dans le formulaire de démarrage.
Peu importe, j'ai modifié le code ci-dessus pour donner celui ci-dessous :
Private Sub Form_Open(Cancel As Integer) Dim NomBase As String Dim DLC As Boolean DLC = True NomBase = CurrentDb.Name If NomBase <> "C:testtest.mdb" Then DLC = False If DLC = False Then MsgBox "insulte de ton choix" DoCmd.Quit End If End Sub
Or, à la lumière de ce qui précède, le code que j'aie modifié fonctionne très bien sauf que le module est rendu inutile puisque la totalité du code
est placé sur l'évènement ouverture du formulaire de démarrage.
Mes questions :
En cachant les éléments de la base de données et en désactivant la touche
SHIFT au démarrage, est-ce que cela est suffisant pour forcer l'utilisateur
à installer l'application dans un répertoire X prédéterminé ?
Pourquoi est-ce que le module n'est plus nécessaire ?
Quel était l'erreur dans le code en haut de ce message ?
Est-ce qu'il y a une solution de rechange ou une meilleure solution, voire
où le code serait plutôt dans le module ?
Un GROS merci à l'avance pour vos réponses !
Stéfanie.
Merci !
"Logipro" <logipro2000@hotmail.com> a écrit dans le message de news:
YV2Ua.10975$Fo3.166780@weber.videotron.net...
Bonjour Stéfanie,
Pour une protection optimale je te suggère de convertir ton appli en .mde
ensuite comme tu dit de la verrouillée avec le "Shift" et d'utiliser ta
fonction pas seulement au démarrage mais à l'ouverture de quelque
formulaire
principale de ton appli. donc
ton DLC pourrait soit devenir global ou bien utiliser une fonction comme
ceci :
Dans un module :
Public Function DroitAcces() as boolean
Dim NomBase as String
NomBase = CurrentDB.Name
If NomBase <> "C:TrucMachinMaBase.mdb" Then
Protection = False
else
Protection = True
endif
End Sub
Sur ouverture de quelques formulaires :
Private Sub Form_Open(Cancel As Integer)
if DroitAccesúlse then docmd.quit
End sub
P.S Le "Hard codage" n'est pas une technique très élégante dans une
application, l'idéale est plutôt d'encrypter
le chemin dans la base de registre, de cette façon ça évite de
modifier ton application, une sollution aussi est de donner à
l'usager une clé d'activation pour chaque installation, un exemple sur mon
site :
http://www.logicielappui.com/tips/Acc97_Shareware.zip
Salutation et bonne continuation !
Robert Simard
Logipro
"René Descartes" <demential@hotmail.com> a écrit dans le message de
news:EJ0Ua.9703$Wh.994438@news20.bellglobal.com...
Bonjour,
J'ai demandé il y a quelque temps sur ce forum une façon de faire afin
d'empêcher l'application de fonctionner si elle était installer ailleurs
que
dans un répertoire X.
Voici ce que j'ai reçu comme réponse :
Dans un module:
Public Sub Protection(frm as Form)
Dim NomBase as String, DLC as boolean
DLC = True
NomBase = CurrentDB.Name
If NomBase <> "C:TrucMachinMaBase.mdb" Then DLC = False
End Sub
Puis dans la procédure associée à l'évènement 'sur ouverture' du
formulaire
de démarrage:
Protection Me
If DLC = False Then
msgbox "insulte de ton choix"
DoCmd.Quit
End If
Or cette procédure ne fonctionne pas pour plusieurs raisons, dont entre
autres la variable DLC qui n'est pas déclaré dans le formulaire de
démarrage.
Peu importe, j'ai modifié le code ci-dessus pour donner celui ci-dessous
:
Private Sub Form_Open(Cancel As Integer)
Dim NomBase As String
Dim DLC As Boolean
DLC = True
NomBase = CurrentDb.Name
If NomBase <> "C:testtest.mdb" Then DLC = False
If DLC = False Then
MsgBox "insulte de ton choix"
DoCmd.Quit
End If
End Sub
Or, à la lumière de ce qui précède, le code que j'aie modifié fonctionne
très bien sauf que le module est rendu inutile puisque la totalité du
code
est placé sur l'évènement ouverture du formulaire de démarrage.
Mes questions :
En cachant les éléments de la base de données et en désactivant la
touche
SHIFT au démarrage, est-ce que cela est suffisant pour forcer
l'utilisateur
à installer l'application dans un répertoire X prédéterminé ?
Pourquoi est-ce que le module n'est plus nécessaire ?
Quel était l'erreur dans le code en haut de ce message ?
Est-ce qu'il y a une solution de rechange ou une meilleure solution,
voire
"Logipro" a écrit dans le message de news: YV2Ua.10975$
Bonjour Stéfanie,
Pour une protection optimale je te suggère de convertir ton appli en .mde ensuite comme tu dit de la verrouillée avec le "Shift" et d'utiliser ta fonction pas seulement au démarrage mais à l'ouverture de quelque formulaire
principale de ton appli. donc ton DLC pourrait soit devenir global ou bien utiliser une fonction comme ceci :
Dans un module : Public Function DroitAcces() as boolean Dim NomBase as String NomBase = CurrentDB.Name If NomBase <> "C:TrucMachinMaBase.mdb" Then Protection = False else Protection = True endif End Sub
Sur ouverture de quelques formulaires : Private Sub Form_Open(Cancel As Integer) if DroitAccesúlse then docmd.quit End sub
P.S Le "Hard codage" n'est pas une technique très élégante dans une application, l'idéale est plutôt d'encrypter le chemin dans la base de registre, de cette façon ça évite de modifier ton application, une sollution aussi est de donner à l'usager une clé d'activation pour chaque installation, un exemple sur mon site : http://www.logicielappui.com/tips/Acc97_Shareware.zip
Salutation et bonne continuation !
Robert Simard Logipro
"René Descartes" a écrit dans le message de news:EJ0Ua.9703$
Bonjour,
J'ai demandé il y a quelque temps sur ce forum une façon de faire afin d'empêcher l'application de fonctionner si elle était installer ailleurs que
dans un répertoire X.
Voici ce que j'ai reçu comme réponse :
Dans un module: Public Sub Protection(frm as Form) Dim NomBase as String, DLC as boolean DLC = True NomBase = CurrentDB.Name If NomBase <> "C:TrucMachinMaBase.mdb" Then DLC = False End Sub
Puis dans la procédure associée à l'évènement 'sur ouverture' du formulaire
de démarrage: Protection Me If DLC = False Then msgbox "insulte de ton choix" DoCmd.Quit End If
Or cette procédure ne fonctionne pas pour plusieurs raisons, dont entre autres la variable DLC qui n'est pas déclaré dans le formulaire de démarrage.
Peu importe, j'ai modifié le code ci-dessus pour donner celui ci-dessous :
Private Sub Form_Open(Cancel As Integer) Dim NomBase As String Dim DLC As Boolean DLC = True NomBase = CurrentDb.Name If NomBase <> "C:testtest.mdb" Then DLC = False If DLC = False Then MsgBox "insulte de ton choix" DoCmd.Quit End If End Sub
Or, à la lumière de ce qui précède, le code que j'aie modifié fonctionne très bien sauf que le module est rendu inutile puisque la totalité du code
est placé sur l'évènement ouverture du formulaire de démarrage.
Mes questions :
En cachant les éléments de la base de données et en désactivant la touche
SHIFT au démarrage, est-ce que cela est suffisant pour forcer l'utilisateur
à installer l'application dans un répertoire X prédéterminé ?
Pourquoi est-ce que le module n'est plus nécessaire ?
Quel était l'erreur dans le code en haut de ce message ?
Est-ce qu'il y a une solution de rechange ou une meilleure solution, voire