Sto provando a chiamare le funzioni da una DLL che sembra essere stata creata in Delphi. Un esempio di alcune funzioni supportate dalla DLL sono:Python può chiamare le funzioni Delphi in una DLL?
function oziDeleteWpByName(var name:pansichar):integer;stdcall
codice Python ho scritto per accedere alle funzioni di cui sopra non funziona.
from ctypes import *
libc = cdll.OziAPI
name ='test'
pi = pointer(name)
delname = libc.oziDeleteWpByName
delname(name)
sembra che io sto passando il tipo di dati sbagliato alla funzione. Qualche idea su come farlo nel modo giusto?
Grazie ha funzionato. Ora per favore aiuto con questa funzione:
function oziGetOziVersion (var Versione: pansichar; var DataLength: intero): intero; stdcall; La versione di OziExplorer viene restituita nella variabile Version.
Ora come faccio a passare "versione var" quando è quella che verrà restituita.
'var nome: pansichar' implica che il parametro' name' può essere modificato e restituito al chiamante. La funzione lo fa davvero? Stai pensando di leggere il contenuto di 'name' dopo che la funzione è tornata? –
Inoltre, quale versione di Python stai usando? Può fare la differenza per le codifiche di stringhe. –
sì, quella dichiarazione 'var' è fishy. Se tu, utente 1138 ... hai scritto quella DLL, perché l'hai fatto? –