Pregunta

Estoy creando un GUID para usar en una aplicación ASP clásica, usando TypeLib. Sin embargo, incluso una prueba simple, como escribir el GUID en la pantalla, me está dando problemas: imprime el GUID pero ignora todo después (por ejemplo, etiquetas HTML, palabras adicionales, cualquier cosa).

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 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 parece estar bien. Intenté la conversión explícita a un valor de cadena antes de mostrar, pero aún sucede.

¿Fue útil?

Solución

Parece que he resuelto mi propio problema ... estaba agregando algo extra al texto, así que tuve que hacer:

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

y ahora sale bien. Extraño.

Otros consejos

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, debe agregar un método ToString () para generarlo como una cadena.

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

Response.Write myGuid.ToString("D")
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top