Antwort an „Mehl“ verfassen

Ich rufe in meiner Funktion (FK1) eine Funktion (FK2-PLCcom.TCP_ISO....) auf, die mir eine Schnittstelle öffnet.

PLCDevice plcdevice = new PLCcom.TCP_ISO_Device(ip, xxx...);

Um diese Variable "plcdevice" auch in anderen Funktionen (lesen/schreiben von Schnittstelle) zu nutzen, möchte ich das "plcdevice" öffentlich wird, jedoch nur im gleichen "namespace".

Was meinst du mit "Namespace" und, vor allem, wem soll er "gleichen"?

Du kannst die Variable plcdevice statt innerhalb der Funktion FK1 in jenem Gültigkeitsbereich deklarieren, den FK1 und die anderen Funktionen nutzen.

Statt

Funktion FK1 ()
  Var plcdevice   # Deklaration
  plcdevice = new PLCcom.TCP_ISO_Device()

Funktion FK2 ()
  lese(plcdevice) # Fehler, Bezeichner plcdevice ist hier unbekannt

benutze

Var plcdevice
Funktion FK1 ()
  plcdevice = new PLCcom.TCP_ISO_Device()

Funktion FK2 ()
  lese(plcdevice) # schließt übergeordneten Gültigkeitsbereich ein

Das gehört aber zum kleinen Programmier-Einmaleins und sollte dir bekannt sein, weshalb ich nicht nachvollziehen kann, wo dein Problem liegt bzw. was dir unter "gleicher Namespace" vorschwebt.

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen