summaryrefslogtreecommitdiffstats
path: root/helpcontent2/source/text/sbasic/shared/03090403.xhp
blob: 2a4b3d519610427bef0631597c9fe04c8c451dde (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?xml version="1.0" encoding="UTF-8"?>
<helpdocument version="1.0">
<!--
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
-->

<meta>
  <topic id="textsbasicshared03090403xml" indexer="include" status="PUBLISH">
    <title id="tit" xml-lang="en-US">Declare Statement</title>
    <filename>/text/sbasic/shared/03090403.xhp</filename>
  </topic>
</meta>

<body>


<section id="declare">
<bookmark xml-lang="en-US" branch="index" id="bm_id3148473">
  <bookmark_value>Declare statement</bookmark_value>
</bookmark>


<paragraph id="hd_id3148473" role="heading" level="1" xml-lang="en-US"><link href="text/sbasic/shared/03090403.xhp" name="Declare Statement">Declare Statement</link></paragraph>
<bookmark xml-lang="en-US" branch="index" id="bm_id3145316">
  <bookmark_value>DLL (Dynamic Link Library)</bookmark_value>
</bookmark>

<paragraph id="par_id3145316" role="paragraph" xml-lang="en-US">Declares and defines a subroutine in a DLL file that you want to execute from $[officename] Basic.</paragraph>
</section>
<paragraph id="par_id3146795" role="paragraph" xml-lang="en-US">See also: <link href="text/sbasic/shared/03090405.xhp" name="FreeLibrary">FreeLibrary</link></paragraph>

<paragraph id="hd_id3156344" role="heading" level="2" xml-lang="en-US">Syntax:</paragraph>
<bascode>
<paragraph id="par_id3148664" role="bascode" xml-lang="en-US">Declare {Sub | Function} Name Lib "Libname" [Alias "Aliasname"] [Parameter] [As Type]</paragraph>
</bascode>

<paragraph id="hd_id3153360" role="heading" level="2" xml-lang="en-US">Parameters:</paragraph>
<paragraph id="par_id3154140" role="paragraph" xml-lang="en-US"> <emph>Name:</emph> A different name than defined in the DLL, to call the subroutine from $[officename] Basic.</paragraph>
<paragraph id="par_id3150870" role="paragraph" xml-lang="en-US"> <emph>Aliasname</emph>: Name of the subroutine as defined in the DLL.</paragraph>
<paragraph id="par_id3154684" role="paragraph" xml-lang="en-US"> <emph>Libname:</emph> File or system name of the DLL. This library is automatically loaded the first time the function is used.</paragraph>
<paragraph id="par_id3148452" role="paragraph" xml-lang="en-US"> <emph>Argumentlist:</emph> List of parameters representing arguments that are passed to the procedure when it is called. The type and number of parameters is dependent on the executed procedure.</paragraph>
<paragraph id="par_id3147289" role="paragraph" xml-lang="en-US"> <emph>Type:</emph> Defines the data type of the value that is returned by a function procedure. You can exclude this parameter if a type-declaration character is entered after the name.</paragraph>
<paragraph id="par_id3146922" role="warning" xml-lang="en-US">To pass a parameter to a subroutine as a value instead of as a reference, the parameter must be indicated by the keyword <emph>ByVal</emph>.</paragraph>

<paragraph id="hd_id3153951" role="heading" level="2" xml-lang="en-US">Example:</paragraph>
<bascode>
<paragraph id="par_idm1340861616" role="bascode" localize="false" xml-lang="en-US">Declare Sub MyMessageBeep Lib "user32.dll" Alias "MessageBeep" ( Long )</paragraph>
<paragraph id="par_idm1340860336" role="bascode" localize="false" xml-lang="en-US">Sub ExampleDeclare</paragraph>
<paragraph id="par_idm1340859104" role="bascode" localize="false" xml-lang="en-US">Dim lValue As Long</paragraph>
<paragraph id="par_idm1340857872" role="bascode" localize="false" xml-lang="en-US">    lValue = 5000</paragraph>
<paragraph id="par_idm1340856640" role="bascode" localize="false" xml-lang="en-US">    MyMessageBeep( lValue )</paragraph>
<paragraph id="par_idm1340855392" role="bascode" localize="false" xml-lang="en-US">    FreeLibrary("user32.dll" )</paragraph>
<paragraph id="par_idm1340854144" role="bascode" localize="false" xml-lang="en-US">End Sub</paragraph>
</bascode>
</body>

</helpdocument>