Question

Je crée un GUID à utiliser dans une application Classic ASP, à l'aide de TypeLib. Cependant, même un simple test tel que l’écriture du GUID sur l’écran me pose des problèmes: il affiche le GUID mais ignore tout ce qui le suit (balises HTML, mots supplémentaires, etc.).

Voici le code rudimentaire pour tester ceci:

Set typeLib = Server.CreateObject("Scriptlet.TypeLib")
myGuid = typeLib.Guid
Response.Write myGuid & " is the new GUID"
Set typeLib = Nothing

Ceci affichera quelque chose comme {9DDB27D1-F034-41D7-BB88-D0D811DB91CE} et c'est tout; le reste du texte est ignoré et n'est pas écrit. Cependant, si je code en dur cette valeur GUID et la référence à partir d'une variable, le reste du texte semble très bien. J'ai essayé la conversion explicite en une valeur de chaîne avant de l'afficher, mais cela se produit toujours.

Était-ce utile?

La solution

Il semble que j'ai résolu mon propre problème. Il s'agissait d'ajouter quelque chose de plus au texte. J'ai donc dû le faire:

myGuid = Left(myGuid, Len(myGuid)-2)

et il produit maintenant bien. Étrange.

Autres conseils

J'utilise quelque chose comme ça

Function GetGuid() 
        Set TypeLib = CreateObject("Scriptlet.TypeLib") 
        GetGuid = Left(CStr(TypeLib.Guid), 38) 
        Set TypeLib = Nothing 
End Function 

Il ajoute un vbNullChar ou Chr (0) à la fin du GUID. Remplacer (myGuid, Chr (0), "") le corrigera. Mieux que d’utiliser les fonctions Gauche ou Moyenne.

Le GUID est une structure et non une chaîne, vous devez ajouter une méthode ToString () pour la générer sous forme de chaîne.

https://msdn.microsoft. com / fr-fr / bibliothèque / 97af8hh4 (v = vs.110) .aspx

Response.Write myGuid.ToString("D")
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top