문제

typelib를 사용하여 클래식 ASP 응용 프로그램에서 사용할 안내서를 만들고 있습니다. 그러나 화면에 안내서를 작성하는 것과 같은 간단한 테스트조차도 문제가 발생합니다. 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} 그리고 그게 다야; 텍스트의 나머지 부분은 무시되고 기록되지 않습니다. 그러나 그 안내 값을 하드 코딩하고 변수에서 참조하면 텍스트의 나머지 부분이 잘 보입니다. 표시하기 전에 문자열 값으로 명시 적 변환을 시도했지만 여전히 발생합니다.

도움이 되었습니까?

해결책

나는 내 자신의 문제를 해결 한 것 같다. 그것은 텍스트에 추가로 무언가를 추가하고 있었다. 그래서 나는해야했다.

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

그리고 이제는 잘 출력됩니다. 이상한.

다른 팁

나는 이런 것을 사용합니다

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

가이드 끝에 vbnullchar 또는 chr (0)를 추가합니다. 교체 (MyGuid, chr (0), "")가 수정됩니다. 왼쪽 또는 중간 함수를 사용하는 것보다 낫습니다.

GUID는 문자열이 아닌 구조물입니다. 문자열로 출력하려면 toString () 메소드를 추가해야합니다.

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

Response.Write myGuid.ToString("D")
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top