ActiveDLL mit VB verwenden

Dieses Thema ActiveDLL mit VB verwenden im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von killer-Trekkie, 17. Mai 2004.

Thema: ActiveDLL mit VB verwenden Hi, ich versuche im Moment ein DLL mit VB zu verwenden. Ich hab nur ein Problem. Es kommt immer folgender Fehler:...

  1. Hi,
    ich versuche im Moment ein DLL mit VB zu verwenden.

    Ich hab nur ein Problem. Es kommt immer folgender Fehler:

    Hier ist mal mein Quelltext:

    DLL:
    Code:
    Public Sub funcSpeichern(Pfad As String, Daten As String)
        Open Pfad For Output As #1
            Print #1, Daten
        Close #1
    End Sub
    Exe:
    Code:
    Private Declare Function talSpeichern Lib C:\Dokumente und Einstellungen\Jul\Desktop\Speichern.dll Alias funcSpeichern (Pfad As String, Daten As String)
    
    Private Sub Command1_Click()
      Call talSpeichern(Text1.Text, Text2.Text)
    End Sub
    mfg

    killer-Trekkie
     
  2. HI,

    also eigentl. hab ich net so viel Erfahrungen mit .dll´s aber ich muss sagen, dass der Code eigentlich sehr logisch aussieht!

    Also fangen wir einfach an...die dll liegt auch wirklich in dem Verzeichnis? ;O)
     
  3. Ja das ist schon im richtigen Pfad. Außerdem käme ja dann die Fehlermeldung: Dll nicht gefunden.

    mfg

    killer-Trekkie
     
  4. Kenn mich mit den VB-DLLs nicht aus, aber Google mal nach Moduldefinitionsdatei (*.def). Braucht man zumindest bei C-DLLs um die Funktionen unter einem (nicht kryptischen) Namen zu erreichen.
     
  5. Bracuht man nicht. da ich schon Codes gesehen hab wo z.B. die kernel32.dll ohne so was benutzt wurde.

    mfg

    killer-Trekkie
     
  6. Hi

    Code:
    Private Declare Function talSpeichern Lib C:\Dokumente und Einstellungen\Jul\Desktop\Speichern.dll Alias funcSpeichern (Pfad As String, Daten As String)
    Eigentlich sollte es so aussehen ...
    Code:
    Private Declare Sub talSpeichern Lib C:\Dokumente und Einstellungen\Jul\Desktop\Speichern.dll Alias funcSpeichern (Pfad As String, Daten As String)
    ... weil bei deiner DLL kein Rückgabewert zurück kommt, wie bei einer Function.

    PS: Erstell dir lieber eine richtige DLL-Datei mit VB :)

    Mfg Alexander
     
  7. Die Kernel32 wurde ziemlich sicher mit einer Moduldefinitionsdatei kompiliert, ansonsten wären die Funktionen nicht unter so einfachen Namen ansprechbar.

    Das der Dll-Einstiegspunkt nicht gefunden werden kann, liegt daran das die FUNKTION nicht unter dem Namen gefunden werden kann.
    Ich kann leider nur bei C-Dlls mitreden, dort muss man die Funktion nach aussen erreichbar machen (Schlüsselwort: _declspec(dllexport)), das Schlüsselwort _stdcall in die Funktion einfügen und eine *.def schreiben, damit die Funktion ,trotz der _stdcall-Konvention, wieder unter einem vernünftigen Namen erreichbar ist.

    Gruß Fizbin
     
  8. Und was muss ich machen um eine Function die mir z.B. zwei Zahlen addiert in einer DLL in ein EXE einzufügen (So dass in der DLL die beiden Zahlen addiert werden)?

    mfg

    killer-Trekkie
     
  9. Hab mir eben kurz mal ActiveX-DLLs angeschaut. Diese DLLs (in Process Server) bestehen zwingend aus Klassen die ihre Methoden und Eigenschaften haben. Diese müssen äusserst fehlertolerant programmiert sein.

    Der Server (die DLL)
    myServer.cls
    Code:
    property Get myName()
         myName=Server
          unload me
    end property
    
    Über ->Projekt->Verweise die dll für den Client nutzbar machen
    client (.exe)
    Code:
    dim k as new myServer
    k.myName
    set k = nothing
    
    So ungefahr sollte es klappen. Für die o.g. Codebeispiele ist es allerdings witzlos eine ActiveX-Dll zu programmieren. Wahrscheinlich bist Du mit einem Modul, oder maximal einem benutzerdefinierten Steuerelemt, ersteinmal besser bedient. Was willst Du den mit der ActiveX-dll genau anfangen????
     
  10. Im ersten Moment wars einfach mal Neugier aber ich will Code vereinfachen und mir manche Funktionen aus dem weg schaffen udn für mehrere Programme zugänglich machen. Eigentlich ist die DLL doch wie ein Modul oder irr ich mich da?

    mfg

    killer-Trekkie
     
Die Seite wird geladen...

ActiveDLL mit VB verwenden - Ähnliche Themen

Forum Datum
Altes Programm unter Windows 7 verwenden Windows 7 Forum 12. Juli 2016
Windows auf einem anderen Computer verwenden Windows 8 Forum 26. Apr. 2016
Kann Dateien trotz Vollzugriff nicht öffnen oder verwenden (Keine Rechte) Windows 7 Forum 1. Juni 2015
externe HDD als NAS verwenden ? Windows 7 Forum 4. Mai 2015
Windows 7 (refurbished) auf neuem Rechner verwenden ? Windows 7 Forum 26. Jan. 2015