我正在使用TypeLib创建一个用于Classic ASP应用程序的GUID。然而,即使是一个简单的测试,例如将GUID写到屏幕上也会给我带来问题 - 它会打印GUID但忽略其后的所有内容(例如HTML标签,附加单词,任何内容)。

以下是测试此内容的基本代码:

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

这将显示类似 {9DDB27D1-F034-41D7-BB88-D0D811DB91CE} 的内容,就是这样;文本的其余部分将被忽略,并且不会被写出。但是,如果我硬编码该GUID值并从变量引用它,则其余文本看起来很好。我在显示之前尝试过显式转换为String值,但它仍然会发生。

有帮助吗?

解决方案

我似乎已经解决了我自己的问题..它在文本中添加了额外的东西,所以我不得不这样做:

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

现在输出正常。奇怪。

其他提示

我使用类似的东西

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

它在GUID的末尾添加了一个vbNullChar或Chr(0)。替换(myGuid,Chr(0),"")将修复它。比使用左或中功能更好。

GUID是结构而不是字符串,您需要添加ToString()方法以将其作为字符串输出。

https://msdn.microsoft。 COM / FR-FR /库/ 97af8hh4(v = vs.110)的.aspx

Response.Write myGuid.ToString("D")
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top