Создание GUID в ASP-приложении
при помощи VB-компонента
Источник: Relib.com
В некоторых ASP-приложениях бывает необходимо генерировать уникальный идентификатор (GUID - Global Unique IDentifier), сделать который можно несколькими способами, в том числе: используя БД или VB-компонент. Наиболее простой способ - использование БД (например, функции NewID() в SQL Server 7.0) не всегда подходит, поэтому в данной статье мы рассмотрим пошаговое создание VB-компонента, который позволит реализовать эту задачу при помощи Windows API. Преимущества этого метода будет в ледующем:
1. Не требует выполнения запроса
к БД
2. Не требует наличия SQL Server 7.
Итак, для создания компонента:
1. Поместите в секцию General Declarations следующий код:
Option Explicit
Private Declare Function CoCreateGuid Lib "OLE32.DLL" _
(pGuid As GUID) As Long
Private Declare Function StringFromGUID2 Lib "OLE32.DLL" _
(pGuid As GUID, ByVal PointerToString As Long, _
ByVal MaxLength As Long) As Long
Private Const GUID_OK As Long = 0
Private myGUID As S tring
Private Type GUID
Guid1 As Long
Guid2 As Integer
Guid3 As Integer
Guid4(0 To 7) As Byte
End Type
2. Скопируйте данный код функции:
Public Function getGUIDKey() As String
Const MAX_GUID_LENGTH As Long = 38
Dim udtGUID As GUID
Dim strGUID As String
Dim lngRetCode As Long
lngRetCode = CoCreateGuid(udtGUID)
If lngRetCode = GUID_OK Then
strGUID = String(MAX_GUID_LENGTH, 0)
StringFromGUID2 udtGUID, StrPtr(strGUID), _
MAX_GUID_LENGTH + 1
Else
strGUID = ""
End If
getGUIDKey= strGUID
End Function
3. Откомпилируйте файл проекта.
Обратите внимание, что в случае использования API Text Viewer (утилиты, входящей в Visual Studio) вы получите тип Public для API-функций, вместо Private, который использован в данном примере. Успешная компиляция завершает создание требуемого компонента и вы можете приступать к его использованию.
Подробнее на сайте