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-2025
 
zurück

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

Fortgeschrittene Programmierung
Re: Wertaustausch EXE <-> ActiveX Dll 
Autor: Wöllmi
Datum: 09.01.06 15:12

Hi Dirk,

erstmal vielen Dabk für Deine Antwort.

Ja, prinzipiell ginge dies, doch wie bekommt die EXE mit, daß
sich aus der DLL heraus die Variable geändert hat?

Als Property sähe dies ja evtl. so aus:
'EXE:
Global  SYSVariable as Long
 
SYSVariable = 1&                                     'Globales Setzen der 
' Änderung
DLL1.mSYSVariable = SYSVariable       'Bekanntgabe der Änderung an die DLL1 
' => Property Let
DLL2.mSYSVariable = SYSVariable       'Bekanntgabe der Änderung an die DLL2 
' => Property Let
' ...    usw.
'Abfrage in der EXE normal
select case SYSVariable
    case 1&:  Tue Das
    case 2&: Tue Dies
end select
Da sich aber in den Dll's auch was getan haben könnte, muß
der Wert aus der/den Dll zuerst mit dem akt Status abgeglichen werden.
If SYSVariable <> DLL1.mSYSVariable Then
   SYSVariable = DLL1.mSYSVariable    'Property Get
endif
'Und erst jetzt:
select case SYSVariable
    case 1&:  Tue Das
    case 2&: Tue Dies
end select
Voraussetzung ist, daß auch tatsächlich der Wert in der DLL der aktuellere ist.
Aber das bedeutet, daß bei jeder Änderung der variable SYSVariable im Programm
die Bekanntgabe an die DLLs und umgekehrt erfolgen muß.
Manuell eine nicht nur mühsame, sondern auch fehleranfällige Prozedur.

das muß doch eleganter gehen? Nur Wie?

Evtl. würde ja eine Art Shared Memory helfen. Doch da habe keine
Erfahrung. In einer Klasse, die in der EXE instanziert wird also in der
EXE normal vereinbart wurde geht das prima. man übergibt der Klasse einfach
die adresse der Variablen und schreibtin der Klasse immer auf die übergeben Adresse. (CopyMemory)
Aber da wird ja das gleiche Datensegment verwendet.

Tschaui
Woellmi

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Wertaustausch EXE <-> ActiveX Dll771Wöllmi09.01.06 13:42
Re: Wertaustausch EXE <-> ActiveX Dll430Dirk09.01.06 14:44
Re: Wertaustausch EXE <-> ActiveX Dll525Wöllmi09.01.06 15:12
Re: Wertaustausch EXE <-> ActiveX Dll439Dirk09.01.06 15:29
Re: Wertaustausch EXE <-> ActiveX Dll428Wöllmi09.01.06 22:21
Re: Wertaustausch EXE <-> ActiveX Dll445Dirk10.01.06 09:19
Re: Wertaustausch EXE <-> ActiveX Dll465Wöllmi10.01.06 14:53
Re: Wertaustausch EXE <-> ActiveX Dll432Dirk12.01.06 13:02
Re: Wertaustausch EXE <-> ActiveX Dll533Wö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