|
| |

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  |  |
 | 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 |
  |
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats sevOutBar 4.0 
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere Infos
|
| |
|
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
|
|