Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
DLL Declaration
Message
De
14/02/2008 11:02:22
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Titre:
Divers
Thread ID:
01292575
Message ID:
01292598
Vues:
19
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
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform