vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
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.381Elvis21.08.19 15:38
Re: starten einer vb6 exe mit objekt Parameter aus vba812Elvis21.08.19 17:50
Re: starten einer vb6 exe mit objekt Parameter aus vba830Souffleurlos21.08.19 18:54
Re: starten einer vb6 exe mit objekt Parameter aus vba804Elvis21.08.19 19:19
Re: starten einer vb6 exe mit objekt Parameter aus vba804Souffleurlos21.08.19 19:42
Re: starten einer vb6 exe mit objekt Parameter aus vba829Elvis21.08.19 19:57
Re: starten einer vb6 exe mit objekt Parameter aus vba769markusxy23.08.19 14:35
Re: starten einer vb6 exe mit objekt Parameter aus vba755Elvis24.08.19 13:52
Re: starten einer vb6 exe mit objekt Parameter aus vba803Souffleurlos23.08.19 20:34
Re: starten einer vb6 exe mit objekt Parameter aus vba756Elvis24.08.19 13:47
Re: starten einer vb6 exe mit objekt Parameter aus vba769Elvis24.08.19 13:49
Re: starten einer vb6 exe mit objekt Parameter aus vba772markusxy24.08.19 12:08
Re: starten einer vb6 exe mit objekt Parameter aus vba764Elvis24.08.19 14:14
Re: starten einer vb6 exe mit objekt Parameter aus vba774Souffleurlos24.08.19 16:13
Re: starten einer vb6 exe mit objekt Parameter aus vba749markusxy24.08.19 14:05
Re: starten einer vb6 exe mit objekt Parameter aus vba795markusxy24.08.19 17:05
Also Schritt für Schritt785Souffleurlos25.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-2024 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