asp classic - español - La salida de un GUID en VBScript ignora todo el texto después de
ejecutar vbs (4)
Parece que he resuelto mi propio problema ... fue agregar algo extra al texto, así que tuve que hacer:
myGuid = Left(myGuid, Len(myGuid)-2)
y ahora produce bien. Extraño.
Estoy creando un GUID para usar en una aplicación ASP clásica, mediante el uso de TypeLib. Sin embargo, incluso una simple prueba, como escribir la GUID en la pantalla, me está dando problemas: imprime el GUID pero ignora todo después (por ejemplo, etiquetas HTML, palabras adicionales, etc.).
Aquí está el código rudimentario para probar esto:
Set typeLib = Server.CreateObject("Scriptlet.TypeLib")
myGuid = typeLib.Guid
Response.Write myGuid & " is the new GUID"
Set typeLib = Nothing
Esto mostrará algo así como {9DDB27D1-F034-41D7-BB88-D0D811DB91CE} y eso es todo; el resto del texto se ignora y no se escribe. Sin embargo, si codifico ese valor GUID y lo referencia desde una variable, el resto del texto aparece bien. Intenté una conversión explícita a un valor de cadena antes de mostrarla, pero todavía sucede.
Yo uso algo como esto
Function GetGuid()
Set TypeLib = CreateObject("Scriptlet.TypeLib")
GetGuid = Left(CStr(TypeLib.Guid), 38)
Set TypeLib = Nothing
End Function
Agrega un vbNullChar o Chr (0) al final del GUID. Reemplazar (myGuid, Chr (0), "") lo arreglará. Mejor que usar las funciones Izquierda o Media.
GUID es una estructura y no una cadena, necesita agregar un método ToString () para mostrarlo como una cadena.
https://msdn.microsoft.com/fr-fr/library/97af8hh4(v=vs.110).aspx
Response.Write myGuid.ToString("D")