|
| ComposantInfo ne me retourne rien pour l'un de mes composants |
| Iniciado por Nicolas ROBIN, 16,abr. 2020 17:25 - 1 respuesta |
| |
| | | |
|
| |
Miembro registrado 87 mensajes |
|
| Publicado el 16,abril 2020 - 17:25 |
Bonjour,
Je fais un ComposantListe() pour lister tous les composants de mon projet. Je parcours le résultat et récupère tous les paramètres que propose ComposantInfo(...).
Seulement, j'ai certains composants pour lesquels tous les ComposantInfo() ne me retournent rien sauf ciEtat qui me retourne un état cieChargé (pas de date de génération, pas de nom physique, etc.).
J'ai essayer de faire un ComposantCharge(...) avant pour essayer de reforcer le chargement de ce composant avec son nom physique complet mais le résultat est le même.
Est-ce que vous avez une idée de ce qui pourrait expliquer cela et comment faire pour y remédier? Qu'est-ce qui peut expliquer que la génération de ces composants diffèrent des autres alors que la configuration semble être la même?
Pour information, ceux qui sont bien chargés ont ont une date de génération, le bon nom physique, sont isolés, ne sont pas chargés au lancement et ont des numéros de versions cohérents.
Cordialement,
Nicolas ROBIN
--
NR |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 87 mensajes |
|
| Publicado el 16,abril 2020 - 17:27 |
Voici un bout de code dont je me sers pour faire ce test:
//------------------------------------------------------------------------------------------------------------------ MaListeComposant est une chaîne tabComposants est un tableau associatif de chaînes UnComposant est une chaîne NomComposant est une chaîne CheminComposant est une chaîne sMsg est une chaine sMsgComplet est une chaine ResChargement est une chaine
sMsgComplet="NomComposant"+TAB+"CheminComposant"+TAB+"ciComposantGlobal"+TAB+"ciChargementLancement"+TAB+"ciCopyright"+TAB+"ciDateGénération"+TAB+"ciEtat"+TAB+"ciLibellé"+TAB+... "ciNomPhysique"+TAB+"ciNuméroPatch"+TAB+"ciPropriétaire"+TAB+"ciSociété"+TAB+"ciVersion"+TAB+"ciVersionCompatible"+TAB+"ciVersionInterne"+TAB+"ciVersionProjet"+RC Trace(sMsgComplet)
//On force le chargement NomComposant ="NessyInterface" CheminComposant ="C:\Nessy_3_6_3_41_32Bits" ResChargement=ComposantCharge(NomComposant,CheminComposant) SELON ResChargement CAS cieAbsent : sMsg=NomComposant+TAB+CheminComposant+TAB+"*FORCAGE*: Le composant externe n'est pas présent dans le chemin indiqué." CAS cieVersionTropAncienne : sMsg=NomComposant+TAB+CheminComposant+TAB+"*FORCAGE*: La version du composant externe est trop ancienne. Il est incompatible avec l'exécutable en cours." CAS cieVersionTropRécente : sMsg=NomComposant+TAB+CheminComposant+TAB+"*FORCAGE*: La version du composant externe est trop récente. Il est incompatible avec l'exécutable en cours." CAS cieChargé : sMsg=NomComposant+TAB+CheminComposant+TAB+"*FORCAGE*: Composant externe chargé" FIN Trace(sMsg) Trace("---") sMsgComplet+=sMsg+RC
//On force le chargement NomComposant ="NessyInterface" CheminComposant ="C:\Nessy_3_6_3_41_32Bits\NessyInterface.wdk" ResChargement=ComposantCharge(NomComposant,CheminComposant) SELON ResChargement CAS cieAbsent : sMsg=NomComposant+TAB+CheminComposant+TAB+"*FORCAGE*: Le composant externe n'est pas présent dans le chemin indiqué." CAS cieVersionTropAncienne : sMsg=NomComposant+TAB+CheminComposant+TAB+"*FORCAGE*: La version du composant externe est trop ancienne. Il est incompatible avec l'exécutable en cours." CAS cieVersionTropRécente : sMsg=NomComposant+TAB+CheminComposant+TAB+"*FORCAGE*: La version du composant externe est trop récente. Il est incompatible avec l'exécutable en cours." CAS cieChargé : sMsg=NomComposant+TAB+CheminComposant+TAB+"*FORCAGE*: Composant externe chargé" FIN Trace(sMsg) Trace("---") sMsgComplet+=sMsg+RC
//On liste les composants MaListeComposant = ComposantListe() UnComposant = ExtraitChaîne(MaListeComposant, rangPremier, RC) TANTQUE UnComposant <> EOT NomComposant =ExtraitChaîne(UnComposant, 1, TAB) CheminComposant =ExtraitChaîne(UnComposant, 2, TAB) tabComposants[NomComposant]=CheminComposant // Composant suivant UnComposant = ExtraitChaîne(MaListeComposant, rangSuivant, RC) FIN Trie(tabComposants)
POUR TOUT CheminComposant,NomComposant DE tabComposants sMsg=NomComposant+TAB+CheminComposant SELON ComposantInfo(NomComposant,ciComposantGlobal) CAS VRAI: sMsg+=TAB+"GLOBAL" CAS FAUX: sMsg+=TAB+"ISOLE" CAS "": sMsg+=TAB+"?" FIN SELON ComposantInfo(NomComposant,ciChargementLancement) CAS VRAI: sMsg+=TAB+"LANCEMENT" CAS FAUX: sMsg+=TAB+"PAS LANCEMENT" CAS "": sMsg+=TAB+"?" FIN sMsg+=TAB+ComposantInfo(NomComposant,ciCopyright) sMsg+=TAB+ComposantInfo(NomComposant,ciDateGénération) SELON ComposantInfo(NomComposant,ciEtat) CAS cieAbsent: sMsg+=TAB+"cieAbsent" CAS cieChargé: sMsg+=TAB+"cieChargé" CAS cieInconnu: sMsg+=TAB+"cieInconnu" CAS ciePrêt: sMsg+=TAB+"ciePrêt" CAS cieVersionTropAncienne: sMsg+=TAB+"cieVersionTropAncienne" CAS cieVersionTropRécente: sMsg+=TAB+"cieVersionTropRécente" CAS "": sMsg+=TAB+"?" FIN sMsg+=TAB+ComposantInfo(NomComposant,ciLibellé) sMsg+=TAB+ComposantInfo(NomComposant,ciNomPhysique) sMsg+=TAB+ComposantInfo(NomComposant,ciNuméroPatch) sMsg+=TAB+ComposantInfo(NomComposant,ciPropriétaire) sMsg+=TAB+ComposantInfo(NomComposant,ciSociété) sMsg+=TAB+ComposantInfo(NomComposant,ciVersion) sMsg+=TAB+ComposantInfo(NomComposant,ciVersionCompatible) sMsg+=TAB+ComposantInfo(NomComposant,ciVersionInterne) sMsg+=TAB+ComposantInfo(NomComposant,ciVersionProjet) Trace(sMsg) sMsgComplet+=sMsg+RC FIN Trace("-------------------------------") VersPressePapier(sMsgComplet)
--
NR |
| |
| |
| | | |
|
| | | | |
| | |
|