Apua Python ctypes!

Miten alla olevaa functiota kutsutaan pythonista ctypesiä käyttäen?
GetNames(MYNAME* list, int max_names) ;

typedef struct _name_list
{
char name[10] ;
} MYNAME ;

MYNAME names[46];
GetNames(names, 46);

Alla oma python yritys, en ymmärrä mikä vialla?

import ctypes
class MYNAME(ctypes.Structure):
_fields_ = [
("name", (ctypes.c_char*10))]

names = (MYNAME * 46)()

python_get_names.argtypes = [ctypes.POINTER(MYNAME*46), ctypes.c_int]
python_get_names(names, 46)

Tule virhe:
ValueError: Procedure called with not enough arguments (20 bytes missing) or wrong calling convention
Ilmoita


Tästä on poistettu viesti sääntöjen vastaisena.

Ilmoita
Lisää mutuilua,

Viittaako kertomasi virhe, antamaasi esimerkkiin, epäilyttää että ei, vaan virhe ilmoitus viittaa ohjelmassa muualla olevaan virheeseen, eikö niin ?
Ilmoita
Kummalista moderointia,

avaus sisältää ohjelmakoodia monta riviä enemän kuin minun antamani vastaus, kuitenkin vain minun vastaus poistettiin, eikä senkään poistoon olisi pitänyt olla mitään aihetta.

Merkillistä touhua, tosiaan, ei mitään tolkua.
Ilmoita

Vastaa alkuperäiseen viestiin

Apua Python ctypes!

Miten alla olevaa functiota kutsutaan pythonista ctypesiä käyttäen?
GetNames(MYNAME* list, int max_names) ;

typedef struct _name_list
{
char name[10] ;
} MYNAME ;

MYNAME names[46];
GetNames(names, 46);

Alla oma python yritys, en ymmärrä mikä vialla?

import ctypes
class MYNAME(ctypes.Structure):
_fields_ = [
("name", (ctypes.c_char*10))]

names = (MYNAME * 46)()

python_get_names.argtypes = [ctypes.POINTER(MYNAME*46), ctypes.c_int]
python_get_names(names, 46)

Tule virhe:
ValueError: Procedure called with not enough arguments (20 bytes missing) or wrong calling convention

5000 merkkiä jäljellä

Peruuta