Asp-Classic

在 VBScript 中輸出 GUID 會忽略其後的所有文本

  • July 28, 2019

我正在使用 TypeLib 創建一個用於經典 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 值進行硬編碼並從變數中引用它,則文本的其餘部分看起來就很好。我已經嘗試在顯示之前顯式轉換為字元串值,但它仍然會發生。

我似乎已經解決了我自己的問題.. 它在文本中添加了一些額外的東西,所以我必須這樣做:

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

現在輸出正常。奇怪的。

我用這樣的東西

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

引用自:https://stackoverflow.com/questions/413367