.BAS und .dll in VB.net "einbinden"?



  • Hi,
    also ich hab eine .bas Datei und eine dll-Datei. Ich müsste die eigentlich in einen neuen VB.net Projekt "einbinden". Also meine Idee war es den Quelltext in eine neue Klasse hineinzukopieren und entsprechend die Syntax zu ändern.Meine Frage funktioniert das bezogen auf die Referenzierung

    Declare Function VB_YYY Lib "XXX.DLL" (out1 As Long) As Integer
    

    der Funktionen aus der dll in der neuen Klasse( ,wenn ich den Ausdruck noch um ByRef ergänze) ?
    Im Weiteren hätte ich die Frage wie ich die Aussage aus VB in VB.net zu übersetzen habe.

    Dim szN As String * 17
    

    Ich habe die .bas Datei und dll nicht selbsterstellt...
    Sollte jemand Zeit haben mir zu helfen, bedanke ich mich im Vorfeld schon herzlich dafür.



  • Ich kenne mich mit der PInvoke Syntax von VB.NET nicht aus. Ich kann nur sagen: Grundsätzlich sollte PInvoke diese Funktion packen. Ist ja trivial, ein " Long " Parameter (was auch immer Long in VB ist) und ein Integer Returnwert.
    Wie man das für VB.NET schreibt weiss ich allerdings nicht. Sollte sich aber relativ einfach ergoogeln lassen.

    Dim szN As String * 17
    

    Das deklariert einen String mit fixer Länge 17. Das geht in VB.NET nicht. Es gibt zwar das Attribut VBFixedString , aber deckt lange nicht alles ab was die VB Deklaration abdeckt.
    Siehe http://stackoverflow.com/questions/2305377/how-to-declare-a-fixed-length-string-in-vb-net

    Diesbezüglich müsste man also gucken was mit szN alles gemacht wird. Auch das ist generell sicher lösbar, die Frage ist nur wie aufwendig es wird - wie viel man dazu umschreiben muss.


Log in to reply