13

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 値をハードコードして変数から参照すると、残りのテキストは問題なく表示されます。表示する前に文字列値への明示的な変換を試みましたが、それでも発生します。

4

4 に答える 4

13

私は自分の問題を解決したようです..それはテキストに何か余分なものを追加していたので、私はしなければなりませんでした:

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

そして今ではうまく出力されます。変。

于 2009-01-05T15:31:19.280 に答える
4

私はこのようなものを使用します

Function GetGuid() 
        Set TypeLib = CreateObject("Scriptlet.TypeLib") 
        GetGuid = Left(CStr(TypeLib.Guid), 38) 
        Set TypeLib = Nothing 
End Function 
于 2010-10-08T20:16:19.850 に答える
3

GUID の末尾に vbNullChar または Chr(0) を追加します。Replace(myGuid, Chr(0), "") で修正されます。Left または Mid 関数を使用するよりも優れています。

于 2013-12-15T11:38:41.010 に答える
-2

GUID は文字列ではなく構造体です。文字列として出力するには、ToString() メソッドを追加する必要があります。

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

Response.Write myGuid.ToString("D")
于 2009-01-05T15:12:31.830 に答える