|
VB Code |
[ Top ] |
Normalerweise wird die fertige DLL im Windows-Systemordner
platziert,
wo sie von der Declare-Anweisung in der Regel auch erwartet wird, so
dass
es reicht, hinter dem Schlüsselwort Lib
lediglich den Namen der DLL-Datei anzugeben.
|
Während der
Entwicklungszeit jedoch befindet sich die DLL noch in einem Ordner des
VC-Projektes, so dass hier der komplette Name inklusive Pfad benötigt wird,
damit die DLL gefunden werden kann.
|
Um eventuelle Codeänderungen
zwischen Test- und Auslieferungsversion möglichst gering zu halten,
bedienen wir uns des #If-#Then-#Else-Konstruktes, um diese beiden
Fälle zu unterscheiden.
|
Über die (Bool-)Konstante SYSTEM_DLL legen wir fest, ob unsere DLL noch in der
Entwicklungsumgebung verweilt oder bereits im System-Ordner zu suchen ist.
Je nach Status von SYSTEM_DLL wird nun
entweder der #If- oder der #Else-VB-Codeblock interpretiert/compiliert.
|
|
|
Option Explicit
#Const SYSTEM_DLL = False
#If SYSTEM_DLL Then
Private Declare Function USEDLL_test Lib "usedll.dll" _
(ByVal t As String, ByVal a As Long, ByVal b As Long) As Long
#Else
Private Declare Function USEDLL_test _
Lib "c:\bor\research\usedll\dll\Release\usedll.dll" _
(ByVal t As String, ByVal a As Long, ByVal b As Long) As Long
#End If
Private Sub btnDiff_Click()
Dim d As Long
d = USEDLL_test("Hallo Meister!", Val(txtPara(0)),Val(txtPara(1)))
MsgBox "Die Differenz beträgt " & d, vbOKOnly, "Ergebnis"
End Sub
|
|
|
Bevor du den Code ausführst, musst du im #Else-Zweig den Pfadnamen von usedll.dll
natürlich deiner eigenen Entwicklungsumgebung anpassen, sonst kann die DLL
nicht gefunden werden.
|
|
Wenn die Funktion USEDLL_test aufgerufen wird, meldet sie sich mit einer
MessageBox. Dabei zeigt sie den Text an, den wir ihr als ersten Parameter
übergeben haben.
|
|
|
Nachdem wir das Ergebnis erhalten haben, lassen wir es uns zur Kontrolle
in einer eigenen MessageBox anzeigen
|
|
|
|