diff -r 1499a4d225db -r a8db48ec2c31 runtime/PLCObject.py --- a/runtime/PLCObject.py Wed Jan 30 23:46:41 2013 +0100 +++ b/runtime/PLCObject.py Sat Feb 02 16:01:02 2013 +1100 @@ -97,14 +97,21 @@ return 1; def GetLogMessage(self, level, msgid): + tick = ctypes.c_uint32() + tv_sec = ctypes.c_uint32() + tv_nsec = ctypes.c_uint32() if self._GetLogMessage is not None: maxsz = len(self._log_read_buffer)-1 - sz = self._GetLogMessage(level, msgid, self._log_read_buffer, maxsz) + sz = self._GetLogMessage(level, msgid, + self._log_read_buffer, maxsz, + ctypes.byref(tick), + ctypes.byref(tv_sec), + ctypes.byref(tv_nsec)) if sz and sz <= maxsz: self._log_read_buffer[sz] = '\x00' - return self._log_read_buffer.value + return self._log_read_buffer.value,tick.value,tv_sec.value,tv_nsec.value elif self._loading_error is not None and level==0: - return self._loading_error + return self._loading_error,0,0,0 return None def _GetMD5FileName(self): @@ -185,7 +192,7 @@ self._log_read_buffer = ctypes.create_string_buffer(1<<14) #16K self._GetLogMessage = self.PLClibraryHandle.GetLogMessage self._GetLogMessage.restype = ctypes.c_uint32 - self._GetLogMessage.argtypes = [ctypes.c_uint8, ctypes.c_uint32, ctypes.c_char_p, ctypes.c_uint32] + self._GetLogMessage.argtypes = [ctypes.c_uint8, ctypes.c_uint32, ctypes.c_char_p, ctypes.c_uint32, ctypes.POINTER(ctypes.c_uint32), ctypes.POINTER(ctypes.c_uint32), ctypes.POINTER(ctypes.c_uint32)] self._loading_error = None return True