DLL und (globale) Variable
Verfasst: 15.06.2014 08:21
Für DLLs gelten ja vor allem zwei Regeln:
1. Keine Wertzuweisungen außerhalb von ProcedureDLLs
2. Strings müssen als Global deklariert werden.
Zwei Fragen dazu:
a) Kann man in der DLL Strukturen definieren, auf die man von außen zugreifen kann?
b) Kann man Variable (z.B. Integer oder Float) in der DLL definieren, auf die man von außen zugreifen kann?
Konstruiertes Beispiel:
Sind dann syntaktisch richtige DLL-Aufrufe wie
auch im Hinblick auf Speicher unproblematisch?
Oder sind Probleme mit STRUCTURE Person zu erwarten, wenn die Struktur nur innerhalb der (übersetzten) DLL definiert ist, aber von außen aufgerufen wird? Muss man sie dann im Hauptprogramm noch 'mal definieren?
1. Keine Wertzuweisungen außerhalb von ProcedureDLLs
2. Strings müssen als Global deklariert werden.
Zwei Fragen dazu:
a) Kann man in der DLL Strukturen definieren, auf die man von außen zugreifen kann?
b) Kann man Variable (z.B. Integer oder Float) in der DLL definieren, auf die man von außen zugreifen kann?
Konstruiertes Beispiel:
Code: Alles auswählen
Structure Person
Vorname.s
Nachname.s
Wohnort.s
Alter.i
EndStructure
Global Altersgrenze.i, Standardwohnort.s
ProcedureDLL setGrenzalter(Altersvorgabe.i)
Altersgrenze=Altersvorgabe
EndProcedure
ProcedureDLL setStandardwohnort(Ort.s)
Standardwohnort=Ort
EndProcedure
ProcedureDLL setWohnort(*P.Person)
*P\Wohnort=Standardwohnort
EndProcedure
Code: Alles auswählen
setGrenzalter(18)
setStandardwohnort("Köln")
Define Person1.Person
Person1\Wohnort=Standardwohnort
Person1\Alter=Grenzalter
Oder sind Probleme mit STRUCTURE Person zu erwarten, wenn die Struktur nur innerhalb der (übersetzten) DLL definiert ist, aber von außen aufgerufen wird? Muss man sie dann im Hauptprogramm noch 'mal definieren?