Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
DLL Declaration
Message
From
14/02/2008 11:02:22
 
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Title:
Miscellaneous
Thread ID:
01292575
Message ID:
01292598
Views:
18
Thanks a lot Sergey. This new version now take less than 4% of the time my previous version took!

>You can use idea from GdiPlusX project on VFPx. VFP wrapper function for particular DLL function will be called only once. After that DECLAREd DLL function will take precedence.
>PROCEDURE GetGUID
>        *-- These DECLARE statement take in average 0.02s each to execute
>	*DECLARE INTEGER CoCreateGuid IN Ole32.dll STRING @lcGUIDStruc
>	*DECLARE INTEGER StringFromGUID2 IN Ole32.dll STRING cGUIDStruc, STRING @cGUID, LONG nSize
>
>	LOCAL lcGUID AS String, lcStrucGUID AS String, lnSize AS Integer
>	lcStrucGUID = SPACE (16)
>	lcGUID      = SPACE (80)
>	lnSize      = 40
>
>	IF CoCreateGuid(@lcStrucGUID) <> 0
>	   RETURN ""
>	ENDIF
>
>	IF StringFromGUID2(lcStrucGUID, @lcGuid, lnSize) = 0
>	  RETURN ""
>	ENDIF
>
>	RETURN CHRTRAN(STRCONV(LEFT (m.lcGUID, 76), 6), "{}", "")
>ENDPROC
>
>FUNCTION CoCreateGuid(tcStrucGUID)
>	DECLARE INTEGER CoCreateGuid IN Ole32.dll STRING @cGUIDStruc
>	RETURN CoCreateGuid(@tcStrucGUID)
>ENDPROC
>
>FUNCTION StringFromGUID2(tcStrucGUID, tcGuid, tnSize)
>	DECLARE INTEGER StringFromGUID2 IN Ole32.dll STRING cGUIDStruc, STRING @cGUID, LONG nSize
>	RETURN StringFromGUID2(tcStrucGUID, @tcGuid, tnSize)
>ENDPROC
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform