Declare Statement

 

Declare Sub procedurename Lib Libname$ [Alias aliasname$][(argument list)]

 

Declare Function procedurename Lib Libname$ [Alias aliasname$] [(argument list)][As Type]

 

The Declare statement  makes a reference to an external procedure in a Dynamic Link Library (DLL).

 

The procedurename parameter is the name of the function or subroutine being called. 

 

The Libname parameter is the name of the DLL that contains the procedure.

 

The optional Alias aliasname clause is used to supply the procedure name in the DLL if different from the name specified on the procedure parameter.  When the optional argument list needs to be passed the format is as follows:

 

([ByVal] variable [As type] [,ByVal] variable [As type] ]…])

 

 

The optional ByVal parameter specifies that the variable is [passed by value instead of by reference (see “ByRef and  ByVal” in this manual).  The optional As type parameter is used to specify the data type.  Valid types are String, Integer, Double, Long, and Varaint (see “Variable Types” in this manual). 

 

If a procedure has no arguments, use double parentheses () only to assure that no arguments are passed.  For example:

 

Declare Sub OntTime Lib “Check” ()

 

 

Cypress Enable extentions to the declare statement.  The following syntax is not supported by Microsoft Visual Basic. 

 

Declare Function procedurename App [Alias aliasname$] [(argument list)][As Type]

             

This form of the Declare statement  makes a reference to a function located in the executable file located in the application where Enable is embedded.

 

Related Topics: Call

 

 

Example:

 

Declare Function GetFocus Lib "User" () As Integer

Declare Function GetWindowText Lib "User" (ByVal hWnd%, ByVal Mess$, ByVal cbMax%) As _ Integer

 

Sub Main

    Dim hWindow%

    Dim str1 As String *51

    Dim str2 As String * 25

 

    hWindow% = GetFocus()

    print "GetWindowText returned: ", GetWindowText( hWindow%, str1,51 )

    print "GetWindowText2 returned: ", GetWindowText( hWindow%, str2, 25)

    print str1

    print str2

 

End Sub