Welcome To The Home Of The Visual FoxPro Experts  
home. signup. forum. archives. search. google. articles. downloads. faq. members. weblogs. file info. rss.
 From: onytoo
  Where is onytoo?
 Padang
 Indonesia
 onytoo
 To: Martin Krivka
  Where is Martin Krivka?
 
 Czech Republic
 Martin Krivka
 Tags
Subject: RE: declare warning
Thread ID: 310907 Message ID: 311106 # Views: 37 # Ratings: 0
Version: Visual FoxPro 9 Category: Projects and Design
Date: Tuesday, June 28, 2011 9:41:42 PM         
   


> >
> > There's another point in colleague Martina's post: check if the DLL you need has already been loaded with ADLLS() function. I even wrote a wrapper function specifically for this very purpose. Here it is
> >
> >
***********************************************************************************************************************************
> > FUNCTION DLL_IsLoaded(tcFunctName)
> > ***********************************************************************************************************************************
> > ** Function Name : DLL (function) Is Loaded
> > ** Purpose       : Checks if the API function in subject has been already declared/loaded.
> > ** Description   : Uses built-in ADLLS() function to place the info on loaded API functions into a local array, and then scans
> > **                 this array in search for the function name - or the latter's alias name - in subject.
> > ** Parameter(s)  : Sought API function's - or alias' - name as String (by val.): mandatory
> > ** Return        : Success as Boolean.
> > ** Side Effect(s): None.
> > ** Notes:        : 1. Silent.
> > **                 2. Case insensitive.
> > ** Author	 : Ilya I. Rabyy
> > ** Revisions	 : 
> > ***********************************************************************************************************************************
> > IF TYPE("tcFunctName") # "C"
> >    RETURN .F.
> > ENDIF
> > 
> > LOCAL ARRAY laDLL[1]
> > LOCAL lcFunctName, lnRet, I
> > 
> > lcFunctName = ALLTRIM(UPPER(tcFunctName))
> > 
> > lnRet = ADLLS(laDLL)
> > 
> > FOR I = 1 TO lnRet
> >    IF UPPER(laDLL[I, 1]) == lcFunctName .OR. UPPER(laDLL[I, 2]) == lcFunctName && Covers also possible alias name
> >       EXIT  && FOR...NEXT cycle
> >    ENDIF
> > NEXT I
> > 
> > RETURN (I <= lnRet)
> > ENDFUNC
> > ***********************************************************************************************************************************

> > HTH.
> >
> > Regards,
> >
> > Ilya
>
>
>
> Hi Ilya,
>
> I was make some changes to your code. Take a look -:)
> lparameters tcFunctName
> 
> local array laDLL[1]
> =adlls(laDLL)
> return 0!=ascan(laDLL,m.tcFunctName,-1,-1,1,1+2+4+8)
> 

>
> Martin

:) very good, but array checking for this purpose still will slowdown your app, right?


Regards,
Onytoo

ENTIRE THREAD

declare warning Posted by Martin Krivka @ 6/27/2011 7:37:00 AM
RE: declare warning Posted by Martina Jindrov√° @ 6/27/2011 7:58:16 AM
RE: declare warning Posted by Martin Krivka @ 6/27/2011 9:04:43 AM
RE: declare warning Posted by onytoo @ 6/27/2011 8:29:25 PM
RE: declare warning Posted by Ilya Rabyy @ 6/28/2011 6:57:26 PM
RE: declare warning Posted by onytoo @ 6/28/2011 9:27:55 PM
RE: declare warning Posted by Ilya Rabyy @ 6/29/2011 11:38:01 PM
RE: declare warning Posted by onytoo @ 6/30/2011 9:18:57 AM
RE: declare warning Posted by Martin Krivka @ 6/28/2011 9:29:38 PM
RE: declare warning Posted by onytoo @ 6/28/2011 9:41:42 PM
RE: declare warning Posted by Martin Krivka @ 6/28/2011 10:19:09 PM
RE: declare warning Posted by Ilya Rabyy @ 6/29/2011 11:42:56 PM
RE: declare warning Posted by Martin Krivka @ 6/30/2011 8:46:05 AM
RE: declare warning Posted by Ilya Rabyy @ 6/30/2011 4:34:36 PM
RE: declare warning Posted by Martin Krivka @ 6/30/2011 5:20:37 PM
RE: declare warning Posted by Ilya Rabyy @ 6/30/2011 6:21:06 PM
RE: declare warning Posted by onytoo @ 6/30/2011 10:14:51 PM
RE: declare warning Posted by Ilya Rabyy @ 6/30/2011 10:45:55 PM
RE: declare warning Posted by onytoo @ 7/1/2011 12:13:20 AM
RE: declare warning Posted by Samir H. @ 7/1/2011 5:53:19 AM
RE: declare warning Posted by onytoo @ 7/1/2011 10:59:04 AM
RE: declare warning Posted by Ilya Rabyy @ 7/1/2011 4:37:50 PM
RE: declare warning Posted by onytoo @ 7/1/2011 7:35:38 PM
RE: declare warning Posted by Mike Yearwood @ 7/1/2011 2:31:27 AM
RE: declare warning Posted by Cetin Basoz @ 6/28/2011 11:02:20 AM
RE: declare warning Posted by Martin Krivka @ 6/28/2011 12:09:38 PM
RE: declare warning Posted by onytoo @ 6/28/2011 12:15:01 PM
RE: declare warning Posted by Samir H. @ 6/28/2011 2:17:07 PM
RE: declare warning Posted by Martin Krivka @ 6/28/2011 3:41:05 PM
RE: declare warning Posted by Cetin Basoz @ 6/28/2011 4:15:06 PM
RE: declare warning Posted by Martin Krivka @ 6/28/2011 9:18:29 PM
RE: declare warning Posted by onytoo @ 6/30/2011 9:28:04 AM