在protlib中自动调整CArray的大小

2024-09-29 00:12:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我在搜索protlib的另一个帖子中看到,你是这个很棒的库的作者。如果可以的话,我有一个关于图书馆的问题。你知道吗

我有一个CStruct,我想嵌套在另一个CStruct中:

class Result(CStruct):
    index = CUInt(default=0)
    size  = CUInt(default=0)
    name  = CString(length=AUTOSIZED, default="")

class QueryHit(CStruct):                                                                                                             
    ip         = CUInt(default=0)
    speed      = CUShort(default=0)
    results    = CArray(AUTOSIZED, Result, default=[Result(0, 0, "")])
    serv_id    = CString(length=16, default="")

它在您的文档中说AUTOSIZE只能与CString或CUnicode一起使用。您建议我如何获得一个可变大小的结果列表的效果,这些结果被序列化到N(列表中的项数)个元素上?我不想要一个固定的超大列表,它将序列化一堆额外的元素。我还有一个关于CStruct继承的问题,子类将字段添加到父类中,但是我有一个解决方法,如果对话框允许的话,我可能会稍后再提出。你知道吗

谢谢


Tags: default元素列表序列化图书馆作者resultlength