cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
25 août 2009 à 16:07
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
27 août 2009 à 11:34
Salut à tou(te)s
A mon tour, un petit souci VB6 :
J'ai créé une appli "serveur" en EXE ActiveX.
Il me génère bien un fichier TLB (et VBR) à chaque compilation.
Maintenant, je voudrais commencer mon application "client".
Je vais donc dans les références pour l'associer à mon serveur :
- Je ne vois pas mon appli serveur (TLB) dans la liste des réf disponibles
- Si je parcoure pour aller pointer vers le TLB, l'IDE l'accepte bien (pas d'erreur), mais il ne le charge pas pour autant.
Auriez-vous déjà rencontré ce problème ... et la solution qui va avec ?
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 25 août 2009 à 17:13
PS : je ne peux m'en passer puisque mon serveur a des "Events", une déclaration en Object ne fonctionnerait pas
J'ai essayé :
- reboot
- En ouvrant le fichier VBP dans NotePad, j'ai remarqué que la syntaxe déclarative des références utilisait le symbole # pour séparer ses champs !
Quelle drôle d'idée : le # est un caractère autorisé dans le noms de fichier/répertoire et bien sûr, c'est mon cas !
Donc :
- renommage des répertoires
- nettoyage de la base de registres
- reboot
Bon, je pensais avoir mis le doigt dessus, mais ...
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 25 août 2009 à 17:27
Ouf, j'ai trouvé
En fait, avant de me lancer dans mon projet, il y a quelques semaines, je m'étais créé une petite maquette Client-Serveur ActiveX, dans un autre répertoire.
Là, j'ai créé mes applis et, manque de chance, bien que les noms de programmes soient différents, j'ai utilisé le même nom de Classe publique.
Du coup, la base de registres (BdR) avait mémorisée une ClassId pour le TypeLib de ma Class.
Je refabrique un autre EXE avec ce même nom et ... la classe était toujours rattachée à l'ancien programme, d'où le conflit.
Alors j'ai nettoyé manuellement la BdR et supprimé les ClassId en trop
+ recompilation dans un répertoire sans #
+ bricolé le fichier VBP pour ajouter manuellement ma référence
et la référence est maintenant bonne.
Qqun sait commun supprimer proprement une ClassId ou doit-on se bringballer les casseroles ?
(remarque, cela explique l'embompoint de la BdR avec l'âge !)
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 27 août 2009 à 10:51
salut Jack,
pareil que Renfield, une fois compilé c'est toujours une casse tête, avec nettoyage BDR manuel pour éviter tout souci
(quoi que regcleaner est pas en général)
bien vu pour le #
[hr]
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 27 août 2009 à 11:34
Merci pour ces confirmations
Hélas, je n'ai pas d'autre choix que de compiler à chaque modif car mon logiciel Client est un EXE et VB refuse de créer un groupe (avec le serveur) pour cette raison.