Forum - Questions générale - Sujet n°335

[]
Nombre de membres 1 membre
Connectés : ( personne )
 

La Charte du Forum - La Charte du Forum

Forum - Forum
Questions générale - Questions générale


clos par  le // : :  Sujet n° 335  Référence manquante non enregistrée

le 05/03/2010 : 15:59
par marsouin

Anonyme

visiteur

Bonjour Pierre,Me voici avec un nouveau problème.Je réalise mes applications sous Vista et lorsque je les installe sur un PC en WinNt ou XP, j'ai un message qui me dit que la référence est manquante et qu'elle n'est pas enregistrée.J'ai donc essayé le code suivant :Dim Refs As Object
Dim Ref As ObjectSet Refs = Application.ReferencesFor Each Ref In Refs 'Parcoure les références
    If Ref.IsBroken = True Then 'Si une référence est manquante        Refs.Remove Refs.item(Ref.Name) 'On la supprime
    End If
Next RefNéanmoins, cela ne marche pas, j'ai une erreur au niveau de l'Item.Suite à ce code, je réinstalle les références avec les bons chemins en fonction de la version du PC.Merci de bien vouloir me conseiller.CordialementChristophe
Ecrire à marsouin  sujet clos  Haut

[]   

DébutPrécédent [ 1 2 ] SuivantFin
Réponse n° 1
--------
le 06/03/2010 : 14:14
par 3Stone

Anonyme

Administrateur

Bonjour,

Ben, avec ce code, tu supprimes le lien vers la référence manquante...
En fait, il faudrait savoir quelle est cette référence... car on ne peut supprimer que celles qui ne sont pas utilisés.

Cordialement,
Pierre(3stone)
  clos par  le // : :  Haut
Réponse n° 2
--------
le 06/03/2010 : 14:19
par marsouin_89

Anonyme

visiteur

Bonjour Pierre,

Tu as tout à fait raison.

Mais le problème est le suivant :

Si la référence à Broken=True, on ne peut pas utiliser le Name ou le FullPath car sinon cela déclenche une erreur.

En fait, ce n'est pas que ma référenc n'est pas utilisée, c'est que son chemin est différent en fonction de l'installation du PC (WinNt ou XP).

De ce fait, elle n'est pas enregistrée de la même manière dans le registre.

Peut être qu'il faudrait utiliser Guid mais là je coince.

Comment Faire ?

Bon Week-end et merci beaucoup.

Cordialement

Christophe

Ecrire à marsouin_89   clos par  le // : :  Haut
Réponse n° 3
--------
le 06/03/2010 : 16:22
par 3Stone

Anonyme

Administrateur

Bonjour,


Si tu utilises ceci, cela devrait te donner le GUID de la référence manquante.

Si je trouve un moment, je ferai une fonction pour traiter cela...

Cordialement,
Pierre(3stone)
  clos par  le // : :  Haut
Réponse n° 4
--------
le 06/03/2010 : 17:18
par marsouin_89

Anonyme

visiteur

Pierre,

Je connaissaie effectivement ce code.

La question est :

A partir de ce guide qui se retrouve forcément absent lorsque l'on change de PC qui n'est configuré pareil (WinNt ou XP), comment faire pour décocher la case afin de relancer l'installation des références conformément au type d'installation du PC ?

Cordialement

Christophe

Ecrire à marsouin_89   clos par  le // : :  Haut
Réponse n° 5
--------
le 06/03/2010 : 18:33
par 3Stone

Anonyme

Administrateur

re,

 
Citation :

A partir de ce guide qui se retrouve forcément absent lorsque l'on change de PC

 
Non !
S'il est absent, il faut faire un "empaquetage" de ton application pour ammener les choses qui manquent. Mais, il est plutôt probable que tu puisses de passer des références barbares...

En cas normal, tu fais référence, par exemple à Word 2007, mais sur le poste tu ne dispose "que" de Word 2003. La référence est donc absente - mais pas Word!

A propos: GUID = Globally Unique IDentifier (identifiant unique), la base de registre en regorge wink

Cordialement,
Pierre(3stone)
  clos par  le // : :  Haut
Réponse n° 6
--------
le 06/03/2010 : 20:39
par marsouin_89

Anonyme

visiteur

Pierre,

Merci pour toutes ces précisions. Elles sont toujours très riches en enseignement.

Cela dit, comment faire ?

Cordialement.

Christophe

Ecrire à marsouin_89   clos par  le // : :  Haut
Réponse n° 7
--------
le 21/03/2010 : 21:07
par marsouin_89

Anonyme

visiteur

Bonjour Pierre,

Concernant ce problème de référence manquante, je me sui souvenu que s'il manquait une référence dans un fichier Mde, le fichier était définitivement corrompu.
Il me fallait donc une autre solution.
Solution, quelque peu tordue, mais qui fonctionne bien.

En voici le cheminement pour ceux que cela interesse :

Lorsque je distribue mes applications, je les intègre dans un executable que je réalise avec Setup.2go.
Avant de préparer mon executable, je decoche toutes les références de ma frontale, ainsi que celles d'un fichier *.mdb (que nous appelerons Librairie) qui deviendra un Mde et qui sera défini comme référence à ma frontale.
Cette Librairie contient mes codes courant (Fichier/Ouvrir, Enregistrer sous, Couleur d'arrière plan d'Access, etc.).

Lors de l'ouverture de la frontale, s'il y a moins de références que prévu, cela signifie que l'on a changé de PC.
Donc, un code réinstalle toutes les références.
Ensuite, j'ouvre à distance la librairie.mdb, j'execute une macro qui lance l'installation des références de la même manière que pour la frontale.
J'utilise ensuite une fonction de Pierre pour créé ma Librairie en Mde et je supprime (Kill) la librairie Mdb afin d'éviter que les utilisateurs aillent fouiner dedans n.
Enfin, j'ajoute cette Librairie.mde comme référence.

J'ai fait des essais d'un PC Vista vers un PC XP et tout fonctionne parfaitement.
Plus de conflits de références manquantes ou non enrgistrées.

Merci à tous pour votre attention et une fois de plus un grand merci à Pierre pour ses fonctions (créer un Mde et ouvrir une base externe) qui m'ont

une fois de plus bien aidé.

Cela dit, si quelqu'un a une meilleur solution, je suis preneur.

Cordialement

Christophe

Ecrire à marsouin_89   clos par  le // : :  Haut
Réponse n° 8
--------
le 23/03/2010 : 22:12
par 3Stone

Anonyme

Administrateur

Bonjour,
 
Citation :

Lorsque je distribue mes applications, je les intègre dans un executable

 
C'est ce que l'on appelle faire un empaquetage, comme je l'avais dit :
 
Citation :

S'il est absent, il faut faire un "empaquetage" de ton application pour ammener les choses qui manquent.

 
Mais, Microsoft à prévu cela avec les outils idoines.
Et on peut trouver un tutoriel bien fourni à cette adresse.

Cordialement,
Pierre(3stone)
  clos par  le // : :  Haut
DébutPrécédent [ 1 2 ] SuivantFin
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut