Code: Select all
; Uses aXends 'COMLIB' userlib!
;
; If  'COMLIB' is not available use the following
; Uni2Ansi-Procedure ((c) aXend):
;
 Procedure.s Uni2Ansi(*Unicode)
   size.l = WideCharToMultiByte_(#CP_ACP, 0, *Unicode, -1, #Null, #Null, #Null, #Null)
   ansi.s=Space(size)
   WideCharToMultiByte_(#CP_ACP, 0, *Unicode, -1, @ansi, size, #Null, #Null)
   ProcedureReturn ansi
 EndProcedure
Procedure.s GUIDcreate()
  g.GUID
  If CoCreateGuid_(@g) = #S_OK
    unicodeGUID$ = Space(78)
    GUIDLen = StringFromGUID2_(g, @unicodeGUID$, Len(unicodeGUID$))
    
    CompilerIf #PB_Compiler_Unicode
      ansiGUID$ = unicodeGUID$
    CompilerElse
      ansiGUID$ = Left(Uni2Ansi(@unicodeGUID$), GUIDLen-1)
    CompilerEndIf
  EndIf
ProcedureReturn ansiGUID$
EndProcedure
Debug GUIDcreate()


