guten tag die herren,
erster post und gleich ne nette frage. es geht um folgendes.
ich persönlich bin ein ziemlicher fan von learning-by-doing und hab mich nach den üblichen vorarbeiten einfach mal an ein schon etwas größeres projekt gesetzt. genau genommen geht es dabei um eine kommunikation mit einem endgerät über die serielle schnittstelle (rs485).
ich bin ja nun nicht blöde und hab mir ein fertiges interface ausm netz gezogen, und zwar von hier: Serial Communication for WIN32 (Event-driven)
wie unschwer zu erkennen ist (ganz runtr scrollen) will der autor dass ich einen callback verwende, was aber bei der oop wohl erstens nicht so sinnig zu sein scheint und außerdem an meine grenzen geht.
ich hab mir also gedacht, maik, hab ich mir gedacht, übergib dem tserial_event doch einfach eine referenz auf mein schnittstellenobjekt und ruf dann die betreffende methode einfach so auf.
aber, man kennts ja, es will nicht.
das ist meine schnittstelle.h
#ifndef SCHNITTSTELLE_H
#define SCHNITTSTELLE_H
#include <conio.h>
#include "Tserial_event.h"
class Schnittstelle{
private:
void SerialEventManager(uint32 object, uint32 event);
void OnDataArrival(int size, char *buffer);
void SerialCallback(Tserial_event *com_source, uint32 event);
Tserial_event* com;
int c;
int error;
char txt[32];
char* buffer;
int size;
public:
Schnittstelle();
~Schnittstelle();
};
#endif SCHNITTSTELLE_H
das der konstruktor in schnittstelle.cpp mit dem callback den ich umgehen will (auskommentiert)
Schnittstelle::Schnittstelle(){
com = new Tserial_event();
if (com!=0)
{
//com->setManager(SerialEventManager);
com->owner = (void *) this;
error = com->connect("COM5", 9600, SERIAL_PARITY_NONE, 8, false);
auf jedenfall bekomme ich, wenn ich nun in die tserial_event.h das
#include "Schnittstelle.h"
einfüge, böse fehlermeldungen aus denen ich, ehrlich gesagt, nicht schlau werde...
Fehler 4 error C2061: Syntaxfehler: Bezeichner 'uint32' c:\dokumente und einstellungen\maik\desktop\maik\cbus_master\cbus_master\cbus_master\schnittstelle.h 10
Fehler 5 error C2061: Syntaxfehler: Bezeichner 'Tserial_event' c:\dokumente und einstellungen\maik\desktop\maik\cbus_master\cbus_master\cbus_master\schnittstelle.h 12
Fehler 6 error C2143: Syntaxfehler: Es fehlt ';' vor '*' c:\dokumente und einstellungen\maik\desktop\maik\cbus_master\cbus_master\cbus_master\schnittstelle.h 14
Fehler 7 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. c:\dokumente und einstellungen\maik\desktop\maik\cbus_master\cbus_master\cbus_master\schnittstelle.h 14
Fehler 8 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. c:\dokumente und einstellungen\maik\desktop\maik\cbus_master\cbus_master\cbus_master\schnittstelle.h 14
Ich hoffe ihr könnt mit den gegebenen informationen anfangen und mich vom kommenden wahnsinn bewahren,
euer maik