vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Also Schritt für Schritt 
Autor: Souffleurlos
Datum: 25.08.19 12:11

von einer VB6-EXE, die Eigenschaften und Methoden an andockende Clients weiterreichen kann:

1. Öffne VB Editor
2. Als Projekt ActiveX EXE auswählen
3. Die Class1 umbenennen in einen sinnvollen Namen ich nenne sie MakeX
4. Diese Klasse mit Leben füllen. Ich verpasse ihr eine Public Property

Public Property Get X() As Long
   X = 10
End Property
 
Public Property Let X(ByVal nPos As Long)
   MsgBox "Hat hier jemand X gerufen?"
End Property
Der Code taugt nichts, soll ja nur dem Verständnis dienen

5. Projekteigenschaften

Projekt Typ ActiveXExe
Startup Objekt: Sub Main
ProjektName: MakeXLib

sonst kann alles bleiben. OK klicken

6. Weil es eine EXE ist, soll sie auch etwas
arbeiten: Ein Modul einfügen. Und zu Startmodul
umbenennen (was nicht sein muss).

7. In das Editorfenster

Sub Main()
   MsgBox "Ich bin die EXE, nicht schließen!!!"
End Sub
Nicht schließen? Ja, sonst ist die EXE geschlossen und
damit auch deren öffentliche Klasse!

8. Kompilieren!

9. Testen. Die MakeXLib.EXE aufrufen. Hat alles geklappt,
erscheint die Msgbox aus Sub Main()

10 Registrieren
H:/MakeX/MakeXLib.EXE /regserver

11. Registry checken, ob gefunden. Found

12. VB-Editor schließen, damit man auf dem Moni wieder was sieht
und das Projekt saven.

13. Excel VBA-Editor über Entwicklertools öffnen

14. Modul einfügen, name: FirstBinding

15. Extras-Verweise-MakeXLib ein Häkchen setzen

16 Im Modul Code

Sub test()
   Dim objX As MakeXLib.MakeX
 
   Set objX = New MakeXLib.MakeX
 
   objX = 20 
End Sub
Und es erscheint die Msgbox darüber, dass jemand X aufgerufen hat.

17. Noch ein Modul einfügen. Nenne es LateBinding.

18 Code

Sub TestlateBinding()
   Dim objX As Object
 
   Set objX = CreateObject("MakeXLib.MakeX")
 
   If ObjPtr(objX) Then
       objX.X = 20
   End If
End Sub
So kannn das Programm als EXE laufen und gleichzeitig seine Werte über die öffentliche Klasse
an andere abgeben. Durch die Klasse kann man auf das überliegende Modul zugreifen. Das Testen
ist gefährlich, weil die MsgBox der X-Eigenschaft im Hintergrund aufpoppen könnte und die
OLE-Ation damit nicht abgeschlossen werden kann, weil die Msgbox ja modal ist. Mittels
GetObject() holt man sich die Instanz der laufenden Exe.

Es ist klar, dass hier MakeXLib mehrere Klassen haben kann.


Gruß auch:

Der
der sich von
niemanden reinlabern lässt.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
starten einer vb6 exe mit objekt Parameter aus vba1.655Elvis21.08.19 15:38
Re: starten einer vb6 exe mit objekt Parameter aus vba1.010Elvis21.08.19 17:50
Re: starten einer vb6 exe mit objekt Parameter aus vba1.024Souffleurlos21.08.19 18:54
Re: starten einer vb6 exe mit objekt Parameter aus vba989Elvis21.08.19 19:19
Re: starten einer vb6 exe mit objekt Parameter aus vba984Souffleurlos21.08.19 19:42
Re: starten einer vb6 exe mit objekt Parameter aus vba1.019Elvis21.08.19 19:57
Re: starten einer vb6 exe mit objekt Parameter aus vba958markusxy23.08.19 14:35
Re: starten einer vb6 exe mit objekt Parameter aus vba951Elvis24.08.19 13:52
Re: starten einer vb6 exe mit objekt Parameter aus vba982Souffleurlos23.08.19 20:34
Re: starten einer vb6 exe mit objekt Parameter aus vba950Elvis24.08.19 13:47
Re: starten einer vb6 exe mit objekt Parameter aus vba964Elvis24.08.19 13:49
Re: starten einer vb6 exe mit objekt Parameter aus vba960markusxy24.08.19 12:08
Re: starten einer vb6 exe mit objekt Parameter aus vba967Elvis24.08.19 14:14
Re: starten einer vb6 exe mit objekt Parameter aus vba974Souffleurlos24.08.19 16:13
Re: starten einer vb6 exe mit objekt Parameter aus vba941markusxy24.08.19 14:05
Re: starten einer vb6 exe mit objekt Parameter aus vba1.004markusxy24.08.19 17:05
Also Schritt für Schritt969Souffleurlos25.08.19 12:11

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel