diff -r f7c85a5939dc -r b1144bb36605 PLCControler.py --- a/PLCControler.py Wed Apr 16 10:26:33 2008 +0200 +++ b/PLCControler.py Tue Apr 22 10:25:24 2008 +0200 @@ -1227,7 +1227,7 @@ infos["type"] = "Array" infos["dimensions"] = [] for dimension in basetype_content["value"].getdimension(): - infos["dimensions"].append(str(dimension.getupper())) + infos["dimensions"].append((dimension.getlower(), dimension.getupper())) base_type = basetype_content["value"].baseType.getcontent() if base_type["value"] is None: infos["base_type"] = base_type["name"] @@ -1284,11 +1284,14 @@ datatype.baseType.setcontent({"name" : "enum", "value" : enumerated}) elif infos["type"] == "Array": array = plcopen.derivedTypes_array() - for dimension in infos["dimensions"]: + for i, dimension in enumerate(infos["dimensions"]): dimension_range = plcopen.rangeSigned() - dimension_range.setlower(1) - dimension_range.setupper(int(dimension)) - array.appenddimension(dimension_range) + dimension_range.setlower(dimension[0]) + dimension_range.setupper(dimension[1]) + if i == 0: + array.setdimension([dimension_range]) + else: + array.appenddimension(dimension_range) if infos["base_type"] in self.GetBaseTypes(): if infos["base_type"] == "STRING": array.baseType.setcontent({"name" : "string", "value" : plcopen.elementaryTypes_string()})