Hallo shepede ..
Danke für deine Antwort .. als VB.Net Hobbyist kann ich das nur nicht umsetzten
meiner Meinung nach habe ich einen Funktionspointer in der Header Datei deklariert
und mit deiner "void (*TrackControl::sendmidi)(byte) = 0" initialisiert
die cpp sieht jetzt so aus:
Code:
#include "TrackControl.h"
#include <arduino.h>
void TrackControl::setCallback (void (*pCallbackFunction)(byte)){
void (*TrackControl::sendmidi)(byte) = 0;
TrackControl::sendmidi=pCallbackFunction;
}
void TrackControl::setVolume (byte value){
sendmidi(value);
}
die Fehlermeldung lautet:
sketch/TrackControl.cpp:6: undefined reference to `TrackControl::sendmidi'
die Lösung mit der statischen Klassen Funktion habe ich gewählt da ich sonst in jeder Instanz noch einen Pointer bräuchte und schon bei 70Prozent dynamischer Speicherauslastung bin
und dann noch für 128 Instanzen Pointer bräuchte.
Lesezeichen