Variable aus Dll verwenden

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Andi2572.

    Variable aus Dll verwenden

    Hi Leute..

    Ich habe eine Dll Datei, in der ich einen String "reinige". Damit meine ich, dass ich aus einem Quelltext Strings auslese, und unnötige Zeichen entferne, sodass der String lesbar wird.
    Jetzt frage ich mich, wie ich aus meine Dll Datei den neuen String in einer DataGridView anzeigen lassen kann.
    Hab schon ewig gesucht, aber nichts gefunden. Entweder hab ich falsch gesucht, oder ich stell mich einfach so blöd, dass das eigentlich jeder kann.
    Ich würde mich trotzdem freuen, wenn mir jemand helfen kann!

    MFG Andi2572

    Edit: Mir würde auch genügen, wenn ich von der Dll Datei aus meine DataGridView ansprechnen könnte.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Andi2572“ ()

    erstma würdich für sone StringManipulation keine Dll aufsetzen - das kann doch nicht mehr als eine einzige Function sein, oder?
    Ich würdedie gewissermaßen "nahe an den Daten" lassen, also als ObjektMethode odergar Property einer Datensatz-Klasse anlegen.
    An sowas kann man auch bequem ein DatagridView binden.

    Auf keinen Fall sollte die Methode ins DGV hineingrabschen, sondern das Form ist der Akteur, nimmt den schmutzigen String, und tut das gereinigte Ergebnis ins DGV (ich nehme mal an, du verwendest kein Datenmodell oder gar Databinding)
    Wenn das eine .NET-DLL ist:
    In der DLL:
    Alle zugreifbaren Konstruktoren, Funktionen Public deklarieren.
    Im Hauptprogramm:
    Die DLL als Verweis hinzufügen: Projekt -> Verweise -> Deine DLL raussuchen
    Zugriff zu DLL-Funktionen über deren Namespace und den Namen der Funktion.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich habs letztendlich ohne Dll gelöst, aber wenn jemand ein ähnliches Problem hat - hier lied Lösung:

    VB.NET-Quellcode

    1. Public Class Class1
    2. Dim a As String
    3. Sub DLLDATEI(ByVal a) 'hier den "Input" aus der Form
    4. 'hier was gemacht werden soll
    5. a = ... 'hier in einen String "packen"
    6. End Sub
    7. Function Rückgabe() As String
    8. Rückgabe = a 'hier an die Form übergeben
    9. End Function
    10. End Class


    In die Form schreibt man jetzt:

    VB.NET-Quellcode

    1. Dim c As String = MEINEDLL.DLLDATEI.Rückgabe()


    Ich hoffe, ich konnte hier auch anderen Leuten helfen!
    Danke an all, die mir geholfen haben!

    MFG Andi2572
    Dein Vorgehen ist nicht durchdacht. Du solltest dein Problem wie folgt lösen:

    VB.NET-Quellcode

    1. Public Class Class1
    2. Dim a As String
    3. Dim b As String
    4. Dim c As String
    5. Sub DLLDATEI(ByVal a) 'hier den "Input" aus der Form
    6. 'hier was gemacht werden soll
    7. a = ... 'hier in einen String "packen"
    8. End Sub
    9. Sub waelzeErgebnisNunUmUmEsDannAbrufenZuKoennen(anweisung)
    10. If anweisung = a Then
    11. b = a 'hier Ergebnis umwälzen
    12. End If
    13. End Sub
    14. Sub sindSieSicher(ja)
    15. If Ja Then 'Abfrage zur Sicherheit
    16. c = b
    17. End If
    18. End Sub
    19. Function Rückgabe() As String
    20. Rückgabe = c 'hier an die Form übergeben
    21. End Function
    22. End Class

    Oder anders gesagt: Eine Methode, die den Paramter annimmt und einen String zurück gibt, würde reichen - du musst das Ergebnis nicht zwischenspeichern. Das kann sogar zu Problemen führen, weil du so explizit darauf achten musst, das Ergebnis abzufragen, bevor du einen weiteren String bereinigen lässt.
    Was hat Deine Lösung denn mit Deinem ursprünglichen DLL-Problem zu tun?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!