Externer Zugriff auf lokale "VAR........ END_VAR" Variablen über "."- Operator

Daxgehtsteil

Level-1
Beiträge
74
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Externer Zugriff auf lokale "VAR........ END_VAR" Variablen über "."- Operator

Hallo,

warum ist es in Codesys möglich, von extern auf die lokalen Variablen Beispielsweise eines PROGRAMM- Bausteins zuzugreifen.
Die Variablen werden zwar nicht in der Autovervollständigung angzezeigt nach Eingabe des "."- Operators, schreibt man sie dennoch hinter den Punkt ist es doch möglich darauf zuzugreifen. Sauber ist das ja nicht, und dafür gedacht sind die lokalen (internen) Variablen auch nicht.

Warum ist es dennoch möglich? Ein Bug der Entwicklungsumgebung??

Viele Grüße

Dax
 
Hallo Dax,

Also ich würde das eher als Feature bezeichnen ;). Tatsache ist, dass das vermutlich mal ein Bug war. Zu Anfang hat man da halt mal eine
Prüfung zu wenig gemacht.
Da der Zugriff aber nun mal möglich ist, wird er auch in tausenden Anwendungen gemacht. Sowas bekommt man daher kaum noch raus.
Daher ist das heute eine zugesicherte Eigenschaft, die wir nicht mehr ändern werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo und danke für deine Antwort.

Das habe ich mir schon gedacht das es so entstanden ist. Allerdings kann ich deine Meinung nicht teilen und halte es für den falschen Weg.
Denn unerfahrene Programmierer sind leicht versucht dieses "feature" wie du es nennst, zu nutzen. In der Doku steht ja auch das von außen nicht darauf zugegriffen werden kann.
Grund für den Thread war, dass ich es tatsächlich schon so oft gesehen habe und es ist jedes Mal einfach nur unnötig. Erleichtert auch nicht das debuggen.
Meine Meinung: In den Einstellungen aktivierbar machen für diejenigen die nicht umsteigen wollen weil der Aufwand zu groß wäre, grundsätzlich sollte der Zugriff aber vom Compiler gemeldet werden (zumindest als Warnung) bzw. nicht zugelassen werden.
Denn schön ist diese Art der Programmierung nicht und konsequent ist diese Lösung in meinen Augen auch nicht.

mfg

Dax
 
Wobei man noch erwähnen sollte, dass dieses "Feature" nur den lesenden Zugriff ermöglicht. Daher halte ich perönlich den Zugriff zwar für unschön, aber nicht unbedingt kritisch.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Bernhard Werner,

das Input- Variablen eines Function_Block, entgegen der Doku, von außen gelesen werden können, ist dann auch so ein "Feature"?
Ich stelle leider fest, das Programmierer intern Input-Variablen beschreiben und von außen diese wieder auslesen. Dies sollte laut Doku gar nicht möglich sein.
Dafür sind Input Variablen meiner Meinung nach gar nicht gedacht. Das es dennoch möglich ist, fördert meiner Meinung nach das schlechte Programmieren.

Viele Grüße
 
Zurück
Oben