Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Comm.,

leider ist es ja nicht möglich Funktionen aus DLL-Dateien zu deklarieren.

Ich habe aber gelesen, dass es möglich ist sich ein ActiveX-Control zu schreiben, dort die DLL-Funktion zu deklarieren und dann von vbscript aus diese Funktion aus dem activeX-Control aufzurufen. kann mir vllt. jmd. ein Beispiel posten wie man Funktionen aus einem "nonvisible activeX-Control" aufruft?

(das control dann zu schreiben dürfte ja kein Problem sein.)

mfg

Geschrieben

Hi,

habs jetzt übers Wochenende rausgefunden... im nachhinein ganz einfach :D

Für alle die mal sowas suchen:

1. COM Klasse erstellen, z.B.

<ComClass(MyTestClass.ClassId, MyTestClass.InterfaceId, MyTestClass.EventsId)> _

Public Class MyTestClass


#Region "COM-GUIDs"

    Public Const ClassId As String = "0d3d0928-b502-4eec-bd34-0aeae9044116"

    Public Const InterfaceId As String = "5eb12215-d9d1-4816-8460-f993ef9bc7b9"

    Public Const EventsId As String = "0319b2d6-2149-4e19-a3ad-f3de40e7184f"

#End Region


#Region "Dll-Funktionen"

    Private Declare Function Beep Lib "kernel32.dll" ( _

        ByVal dwFreq As Long, _

        ByVal dwDuration As Long) As Long

#End Region


    Public Sub New()

        MyBase.New()

    End Sub




    Public Function MyBeep(Optional ByVal freq As Long = 440, Optional ByVal duration As Long = 1000)

        Beep(freq, duration)

        Return Nothing

    End Function


    Public Function multipliziere(ByVal zahl1 As Integer, ByVal zahl2 As Integer) As Long

        multipliziere = zahl1 * zahl2

    End Function


End Class
2. Project builden. 3. dll - registrieren, mit RegAsm.exe
C:\WINDOWS\Microsoft.NET\Framework\v2.x.x>RegAsm.exe "[Pfad]"
4. Aufruf in vbScript:
Set obj = CreateObject("MyActiveXControl.MyTestClass")

obj.MyBeep

MsgBox obj.multipliziere(13, 37)

Set obj = Nothing

Nur noch als Hinweis, der Name ActiveX-Control ist hier eigtl. falsch - wie ich mittlerweile weiß - wenn überhaupt handelt es sich um eine ActiveX - DLL.

Gruß

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...