Gloops
2006-11-02 10:08:40 UTC
Bonjour tout le monde,
J'ai téléchargé il y a quelques jours le kit Microsoft XML à l'adresse
http://download.microsoft.com/download/c/7/5/c75d4b79-35ad-4ae1-acbe-9ba7aa44d1c2/xmlsdk.msi
Je suis en train de faire mes premiers pas avec, et ce à l'aide de VB6
sur une machine avec Windows XP. A la rubrique GUID and ProgID
Information / Dependencies in MSXML / MSXML and Windows / Creating a
manifest for your application, je vois qu'il m'est conseillé au point 4
de conformer mon manifeste d'application aux informations incluses dans
le manifeste d'assemblage de MSXML, d'extension msxml4.manifest, que je
m'attends à trouver dans le répertoire C:\Windows\WinSxS\Manifests, or
je ne trouve aucun fichier avec cette extension non seulement dans ce
répertoire, mais sur tout mon disque.
N'ayant pu construire un manifeste d'application qui se tienne, je
suppose qu'il est normal que je me ramasse une erreur 429 en lançant
l'application de test (après l'avoir un peu complétée pour qu'elle fasse
un petit peu quelque chose, voir ci-dessous.
Quelqu'un voit-il ce que j'ai mal lu ?
*
Par ailleurs, peut-être vais-je comprendre mieux en y passant un peu
plus de temps, mais les instructions de création de l'application de
test proposent de créer un bouton avec juste pour code
Private Sub Command1_Click()
End Sub
(deux rubriques plus loin, toujours dans "MSXML and Windows", cette fois
dans "Using Visual Basic to create sample DLL and EXE file")
Ayant fait cela je ne suis guère surpris qu'il ne se passe rien, et la
tentation est grande de créer un objet DLLtest.TestSxS se référant au
module de classe de la DLL créée juste avant, et d'ajouter dans le code
de la DLL, au niveau Class_Initialize, un MsgBox pour qu'il se passe
quelque chose à l'écran, histoire de vérifier que j'ai bien initialisé
un objet DLLtest.TestSxs
Effectivement, à l'exécution de Set X = New DLLtest.TestSxS dans
l'application test, j'ai bien le MsgBox qui s'affiche, ce qui est
encourageant.
Là où ça deviendrait intéressant, et j'imagine que c'est le but du
composant, c'est une fois que je réussirais à créer un document XML à
l'aide de ce composant. La difficulté, c'est que pour cela il convient
d'abord de créer un objet à identifier à X.It (X étant un objet
DLLtest.TestSxS tel que défini dans le kit, et It étant sa propriété
définie dans la DLL).
C'est lorsque je lance Set D = New DOMDocument40 que j'obtiens une
erreur 429, "le composant ActiveX ne peut créer l'objet". Je soupçonne
que ceci renvoie à ma première question, et que le composant pourrait
créer l'objet une fois que mon manifeste serait correct.
Le fait que je ne sois pas sur une fausse piste serait déjà
encourageant, et alors dénicher ce fichu msxml4.manifest serait me
semble-t-il bien utile.
Merci pour tout coup de main ...
J'ai téléchargé il y a quelques jours le kit Microsoft XML à l'adresse
http://download.microsoft.com/download/c/7/5/c75d4b79-35ad-4ae1-acbe-9ba7aa44d1c2/xmlsdk.msi
Je suis en train de faire mes premiers pas avec, et ce à l'aide de VB6
sur une machine avec Windows XP. A la rubrique GUID and ProgID
Information / Dependencies in MSXML / MSXML and Windows / Creating a
manifest for your application, je vois qu'il m'est conseillé au point 4
de conformer mon manifeste d'application aux informations incluses dans
le manifeste d'assemblage de MSXML, d'extension msxml4.manifest, que je
m'attends à trouver dans le répertoire C:\Windows\WinSxS\Manifests, or
je ne trouve aucun fichier avec cette extension non seulement dans ce
répertoire, mais sur tout mon disque.
N'ayant pu construire un manifeste d'application qui se tienne, je
suppose qu'il est normal que je me ramasse une erreur 429 en lançant
l'application de test (après l'avoir un peu complétée pour qu'elle fasse
un petit peu quelque chose, voir ci-dessous.
Quelqu'un voit-il ce que j'ai mal lu ?
*
Par ailleurs, peut-être vais-je comprendre mieux en y passant un peu
plus de temps, mais les instructions de création de l'application de
test proposent de créer un bouton avec juste pour code
Private Sub Command1_Click()
End Sub
(deux rubriques plus loin, toujours dans "MSXML and Windows", cette fois
dans "Using Visual Basic to create sample DLL and EXE file")
Ayant fait cela je ne suis guère surpris qu'il ne se passe rien, et la
tentation est grande de créer un objet DLLtest.TestSxS se référant au
module de classe de la DLL créée juste avant, et d'ajouter dans le code
de la DLL, au niveau Class_Initialize, un MsgBox pour qu'il se passe
quelque chose à l'écran, histoire de vérifier que j'ai bien initialisé
un objet DLLtest.TestSxs
Effectivement, à l'exécution de Set X = New DLLtest.TestSxS dans
l'application test, j'ai bien le MsgBox qui s'affiche, ce qui est
encourageant.
Là où ça deviendrait intéressant, et j'imagine que c'est le but du
composant, c'est une fois que je réussirais à créer un document XML à
l'aide de ce composant. La difficulté, c'est que pour cela il convient
d'abord de créer un objet à identifier à X.It (X étant un objet
DLLtest.TestSxS tel que défini dans le kit, et It étant sa propriété
définie dans la DLL).
C'est lorsque je lance Set D = New DOMDocument40 que j'obtiens une
erreur 429, "le composant ActiveX ne peut créer l'objet". Je soupçonne
que ceci renvoie à ma première question, et que le composant pourrait
créer l'objet une fois que mon manifeste serait correct.
Le fait que je ne sois pas sur une fausse piste serait déjà
encourageant, et alors dénicher ce fichu msxml4.manifest serait me
semble-t-il bien utile.
Merci pour tout coup de main ...