PROCEDURE guid LOCAL lcPK,lcBuffer,i,lnHex,lnUpper,lnLower DECLARE INTEGER CoCreateGuid IN OLE32.DLL STRING @lcBuffer lcBuffer=SPACE(17) lcPK=SPACE(0) IF CoCreateGuid(@lcBuffer) = 0 FOR i=1 TO 16 lnHex=ASC(SUBSTR(lcBuffer,i,1)) lnUpper=INT(lnHex/16) lnLower=lnHex-(lnUpper*16) lcPK=lcPK+SUBSTR('0123456789ABCDEF',lnUpper+1,1)+; SUBSTR('0123456789ABCDEF',lnLower+1,1) ENDFOR ENDIF RETURN lcPK ENDPROC FUNCTION guid2 IF VAL(LEFT(VERSION(4), 2)) > 6 oGUID = CreateObject("scriptlet.typelib") cGUID = Strextract(oGUID.GUID, "{", "}" ) ELSE ** "VFP 6" oGUID = CreateObject("scriptlet.typelib") cGUID = substr( oGUID.GUID, 2, 36 ) ENDIF RETURN cGUID