Die Suche ergab 5 Treffer

von markus87
Montag 12. Mai 2014, 22:45
Forum: Python mit anderen Sprachen verwenden
Thema: Callback-Funktion mit Pointer als Parameter
Antworten: 10
Zugriffe: 6803

Re: Callback-Funktion mit Pointer als Parameter

@markus87: Argh, ich bin blind: `contents` ändert den Inhalt des Datentyps, also *den Zeiger*. Du willst aber das ersetzen *worauf* er zeigt:
In [130]: a = ct.c_int(42) # int deklarieren und initialisieren.

In [131]: p = ct.pointer(a) # Zeiger auf den int.

In [132]: p.contents = ct.c_int(23 ...
von markus87
Montag 12. Mai 2014, 21:19
Forum: Python mit anderen Sprachen verwenden
Thema: Callback-Funktion mit Pointer als Parameter
Antworten: 10
Zugriffe: 6803

Re: Callback-Funktion mit Pointer als Parameter

@markus87: So vom schnellen drüberschauen scheinen die Rückruffunktionen alle keinen Rückgabetyp ”deklariert” zu haben (`None`), die Funktionen geben aber alle eine Zahl zurück und im C-Programm werden die Rückruffunktionen auch mit dem Rückgabetyp ``int`` deklariert.


Habe jetzt die ...
von markus87
Montag 12. Mai 2014, 20:38
Forum: Python mit anderen Sprachen verwenden
Thema: Callback-Funktion mit Pointer als Parameter
Antworten: 10
Zugriffe: 6803

Re: Callback-Funktion mit Pointer als Parameter

@markus87: Wieso scheinbar? Woran erkennst Du das? Du prüfst das ja nirgends? Und meine Ausgabe sieht auch anders als in Deinem ersten Beitrag aus, denn die Rückruffunktion setzt den Wert auf 1.0 und darum gibt das Programm auch diesen Wert als letztes aus:
$ python forum9.py
py_get_vsrc_data ...
von markus87
Montag 12. Mai 2014, 11:36
Forum: Python mit anderen Sprachen verwenden
Thema: Callback-Funktion mit Pointer als Parameter
Antworten: 10
Zugriffe: 6803

Re: Callback-Funktion mit Pointer als Parameter

Ähm ja, als ich den Eintrag geschrieben hab, war ich schon ein bisschen müde. Also, der Code sieht in etwa so aus:


import ctypes
from ctypes import *

def py_get_vsrc_data_cb(voltage, time, name, id, rtptr):

voltage.contents = c_double(1.0)
print "py_get_vsrc_data: name= "+name+", time= "+str ...
von markus87
Montag 12. Mai 2014, 01:57
Forum: Python mit anderen Sprachen verwenden
Thema: Callback-Funktion mit Pointer als Parameter
Antworten: 10
Zugriffe: 6803

Callback-Funktion mit Pointer als Parameter

Hallo,

ich versuche seit einigen Stunden eine shared libary (ngSpice) mit Python zu verwenden. Dabei muss ich in einer Callback-Funktion den Wert eines Pointers setzen, aber dieser wird einfach nicht rein geschrieben. Ist der Garbage-Collector schuld, oder was mache ich falsch? Unten ist der Teil ...