Zitat:
6. jetzt müsste die
Dll ja egl funktionieren aber sie tut es nicht!!!
Sie tut es doch..
Die messagen würde ich grundsätzlich nicht als string zurückgeben das gibt ärger.
Wenn schon dann als Long oder Variant.
Warum das bei dir nicht geht ist einfach.
Du rufst eine MessageBox mit einem Pointer auf und erwartest gleichzeitig
eine rückgabe obwohl die Box noch nicht geschlossen wurde.
VB ist nicht multitask fähig so das du beides in einen schub abholen könntest.
Delphi-Quellcode:
Public Function start()
As Variant
start = MsgBox("
dll")
start = "Was ist das"
End Function
Public Sub start2()
MsgBox "pdll"
End Sub
Function DLLMain(ByVal a
As Long, ByVal b
As Long, ByVal c
As Long)
As Long
DLLMain = 1
End Function
Sub Main()
'
Dummy
End Sub
Delphi-Quellcode:
Private Declare Function start Lib "TestDLL.DLL" () As Variant
Private Declare Sub start2 Lib "TestDLL.DLL" ()
Private Sub cmdExit_Click()
End
End Sub
Private Sub Form_Load()
lblResult(1).Caption = start
start2
End Sub
Test
DLL und Test Programm...
Anmerkung! Fehler die auftreten könnenFehlermeldungen beim Versuch, innerhalb der exportierten Funktionen Instanzen von Klassen zu erstellen
Probleme bei Funktionen, die als Parameter einen String erwarten oder diesen zurück geben (benutzen Sie statt dessen den Datentyp Variant)
Bei VB6 werden die Bibliotheken teilweise nicht gefunden (fügen Sie die Declare-Statements in ein Modul ein)
Anbei ein Example damit du siehst das es funktioniert.
gruss Emil