2

Delphi Packed レコードを ctypes で処理できるかどうかを知りたいです。stdcall 規則を使用していくつかのメソッドを公開している Delphi で記述された dll があります。

メソッドの 1 つは、次のようにパックされたカスタム レコードを返します。

TMapCell = packed record
    Tile : Word;
    Z : Shortint;
end;

レコードがパックされていない場合、次のような方法で処理できます。

class TMapCell(Structure):
    _fields_ = [
        ('Tile', c_ushort),
        ('Z', c_byte),
    ]

しかし、使用しようとすると、アクセス違反エラーが発生します

WindowsError: exception: access violation writing 0x0000112D
4

1 に答える 1