Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#16

Re: Virtual Basic Dll in Delphi aufrufen?

  Alt 27. Mär 2009, 16:27
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
Angehängte Dateien
Dateityp: zip sample_195.zip (8,9 KB, 4x aufgerufen)
  Mit Zitat antworten Zitat