runtime/PLCObject.py
changeset 1145 203f4eff3313
parent 1144 21475ee0e688
child 1156 9708ed2a4ac2
equal deleted inserted replaced
1144:21475ee0e688 1145:203f4eff3313
   263         for methodname in MethodNames :
   263         for methodname in MethodNames :
   264             self.python_runtime_vars["_runtime_%s"%methodname] = []
   264             self.python_runtime_vars["_runtime_%s"%methodname] = []
   265         self.python_runtime_vars["PLCObject"] = self
   265         self.python_runtime_vars["PLCObject"] = self
   266         self.python_runtime_vars["PLCBinary"] = self.PLClibraryHandle
   266         self.python_runtime_vars["PLCBinary"] = self.PLClibraryHandle
   267         class PLCSafeGlobals:
   267         class PLCSafeGlobals:
   268             def __getattr__(self, name):
   268             def __getattr__(_self, name):
   269                 r = globals()["_PySafeGetPLCGlob_"+name]()
   269                 v = self.python_runtime_vars["_"+name+"_ctype"]()
   270                 return globals()["_"+name+"_unpack"](r)
   270                 r = self.python_runtime_vars["_PySafeGetPLCGlob_"+name](ctypes.byref(v))
   271             def __setattr__(self, name, value):
   271                 return self.python_runtime_vars["_"+name+"_unpack"](v)
   272                 v = globals()["_"+name+"_pack"](c_type,value)
   272             def __setattr__(_self, name, value):
   273                 globals()["_PySafeSetPLCGlob_"+name](ctypes.byref(v))
   273                 t = self.python_runtime_vars["_"+name+"_ctype"]
       
   274                 v = self.python_runtime_vars["_"+name+"_pack"](t,value)
       
   275                 self.python_runtime_vars["_PySafeSetPLCGlob_"+name](ctypes.byref(v))
   274         self.python_runtime_vars["PLCGlobals"] = PLCSafeGlobals()
   276         self.python_runtime_vars["PLCGlobals"] = PLCSafeGlobals()
   275         try:
   277         try:
   276             for filename in os.listdir(self.workingdir):
   278             for filename in os.listdir(self.workingdir):
   277                 name, ext = os.path.splitext(filename)
   279                 name, ext = os.path.splitext(filename)
   278                 if name.upper().startswith("RUNTIME") and ext.upper() == ".PY":
   280                 if name.upper().startswith("RUNTIME") and ext.upper() == ".PY":