vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 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
Re: Wertaustausch EXE <-> ActiveX Dll 
Autor: Wöllmi
Datum: 10.01.06 14:53

Hi Dirk,

der Grund ist eigentlich simpel.
Ich brauche eine Variable, die im gesamten Projekt allen
Modulen, DLL's, Klassen, Formübergreifend, eben global
verfügbar ist und von jeder Stelle, die einem Bediener nur Zugänglich ist
verändert werden können soll.
Der Grund:
Während der Anwender einen Dialog in der DLL bedient, läuft in der EXE eine
Funktion, die u.a. über diese Variable den Status der Bearbeitung mitteilt.
Wie soll der "Dialog - die Form" in der DLL von dieser Variable (aus der EXE)
der aktuellen Wert abfragen können, wenn der DLL die Variable ja nicht bekannt ist?
Das ist mein Problem!

In einem normalen Projekt ist dies eine Globale Variable.
Aber schon, wenn eine Klasse eingebunden wird, passiert es eben, daß die Klasse diese Variable eben nicht kennt. Hier hilft eben ein "Link", eben die Bekanntgabe der
Adresse (gleiches Datensegment). Einer DLL bringt man ( ich schaff es jedenfalls nicht) dies eben nicht so einfach bei.

Wie schon gesagt, derzeit ändere ich die Variable in der EXE und informiere manuell
alle instanzierten DLL's über diese Änderung. der Aufwand ist jedoch enorm.

Stell Dir vor man ändert 10 mal im Verlauf einer Funktion den Inhalt dieser variablen.
Die DLL soll ja sofort darüber informiert werden. Da geht es los:

Variable=1
Ist DLL1 instanziert? => Ja dann informiere diese (DLL1.Variable=1)
Ist DLL2 instanziert? => Ja dann informiere diese (DLL2.Variable=1)
Ist DLL3 instanziert? => Ja dann informiere diese (DLL3.Variable=1)

.. und dies bei jeder Änderung. Der Anwender, der ja z.B. den Dialog in der DLL sieht
soll ja ggf. eine LED blinken sehen. Einen Counter beobachten können.

Also besser kann ich wirklich nicht darlegen.

Wenn Dir ein Weg einfällt, wie ich eine globale Variable sowohl in der EXE
als auch in einer ActiveX-Dll z.B. nur über den Variablennamen ansprechen kann,
auch wenn der Name unterschiedlich ist (ähnlich einer ByRef Parameterübergabe in Funktionen), dann haben wir die Lösung meines Problemes.

Danke trotzdem für Deine Geduld beim Lesen und der Hilfe

Tschaui
Woellmi

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Wertaustausch EXE <-> ActiveX Dll771Wöllmi09.01.06 13:42
Re: Wertaustausch EXE <-> ActiveX Dll431Dirk09.01.06 14:44
Re: Wertaustausch EXE <-> ActiveX Dll526Wöllmi09.01.06 15:12
Re: Wertaustausch EXE <-> ActiveX Dll440Dirk09.01.06 15:29
Re: Wertaustausch EXE <-> ActiveX Dll429Wöllmi09.01.06 22:21
Re: Wertaustausch EXE <-> ActiveX Dll446Dirk10.01.06 09:19
Re: Wertaustausch EXE <-> ActiveX Dll467Wöllmi10.01.06 14:53
Re: Wertaustausch EXE <-> ActiveX Dll434Dirk12.01.06 13:02
Re: Wertaustausch EXE <-> ActiveX Dll534Wöllmi12.01.06 17:40

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