QextSerialPort SIGNAL

Gast #1649700
Lesenswert?

Hallo,
gibt es in der Lib ein SIGNAL, was kommt, wenn Daten empfangen wurden? 
Es gibt ja readyRead. Aber das wird bei mir nicht ausgelöst, wenn Daten 
kommen. Irgendwie muss man den port noch auf EvenDriven setzen. Aber die 
Beispiele, die Ich gefunden habe funktionieren nicht. Also dieses 
EventDriven gibt es bei mir nicht.
Vielen Dank
Gast #1649789
Lesenswert?

EventDriven .. das kenn ich auch nicht. Es gibt eine Funktion 
'bytesAvailable()'. Die kannst du in einem Thread abfragen oder wenns 
einfacher sein soll mit einem Timer. Das sind meines Wissens die 
Methoden, wie man mit der Klasse arbeiten kann.

Lasse mich aber gerne eines besseren belehren.
Gast #1650029
Lesenswert?

Mr. Serial schrieb:
> gibt es in der Lib ein SIGNAL, was kommt, wenn Daten empfangen wurden?
> Es gibt ja readyRead. Aber das wird bei mir nicht ausgelöst, wenn Daten
> kommen.

Hmm, sicher? Das ist nämlich genau das, was  dafür vorgesehen ist.
Gast #1650940
Lesenswert?

Ich habe mal mein Projekt hoch geladen. In dem Zustand bekomme ich z.B. 
in serialport enumarator einige:

invalid conversion from "BYTE*" to "const char*"

Wenn ich die Dateien aus dem Projekt nehme:
meckert er in den posix Dateien rum, obwohl er die unter Windows gar 
nciht includen dürfte. Die auch gelöscht...:

multiple definition auf PortListener...
collect2: ld returned 1 exit status.
Angehängte Dateien:
Gast #1650976
Lesenswert?

Mr. Serial schrieb:
> Ich habe mal mein Projekt hoch geladen. In dem Zustand bekomme ich z.B.
> in serialport enumarator einige:
>
> invalid conversion from "BYTE*" to "const char*"
>
> Wenn ich die Dateien aus dem Projekt nehme:
> meckert er in den posix Dateien rum, obwohl er die unter Windows gar
> nciht includen dürfte. Die auch gelöscht...:

Die werden normalerweise gar nicht übersetzt. Aber du (oder wer immer 
das Beispiel so verändert hat) hast anscheinend die Sourcen aus 
QExtSerialPort selbst rausgerissen und dann irgendwie direkt in das 
Beispiel reingefummelt. Deshalb werden auch die Posix-Sachen mit 
übersetzt.
So ist das überhaupt nicht gedacht.
Das Beispiel scheint aus einem bei QExtSerialPort mitgelieferten 
entstanden zu sein. Lade das ganze Ding am besten mal komplett im 
Original runter und bau dir dann erstmal die DLL und dann das 
Beispielprogramm, damit du eine saubere Ausgansbasis hast.
Gast #1651123
Lesenswert?

So also das neuste habe ich jetzt mal unter MacOs getestet. Wenn ich die 
src.por compliiere je nach dem, ob ich CONFIG += staticlib setze oder 
nicht:

libqextserialportd.a
libqextserialportd.1.2.0.dylib
libqextserialportd.1.2.dylib
libqextserialportd.1.dylib
libqextserialportd.dylib

Wenn ich jedoch die Beispiele starte kommt zur Laufzeit:
Library not loaded: libqextserialportd.1.dylib

und das Programm stützt ab.
Gast #1651136
Lesenswert?

Der Fehler kommt, weil die Lib nicht in einem Standard-Library-Pfad 
liegt und deshalb nicht gefunden wird. Wie das beim Mac geht, weiß ich 
nicht.
Unter Linux kannst du die Environment-Variable LD_LIBRARY_PATH auf das 
Verzeichnis setzen, wo die Lib liegt, um sie zu finden oder sie in einen 
Standard-Lib-Pfad wie /usr/local/lib kopieren und dann als root ldconfig 
ausführen. Beim Mac wird's ähnlich sein.
Gast #1651144
Lesenswert?

Und wenn ich das statisch linke, was mir eh lieber ist habe ich ja eine 
libqextserialportd.a. Da müsste es doch reichen, diese in das 
Beispielverzeichnis zu kopieren und libs+=libqextserialportd machen, 
oder?
Gast #1651179
Lesenswert?

Mr. Serial schrieb:
> Und wenn ich das statisch linke, was mir eh lieber ist habe ich ja eine
> libqextserialportd.a. Da müsste es doch reichen, diese in das
> Beispielverzeichnis zu kopieren und libs+=libqextserialportd machen,
> oder?

Müßte eigentlich auch ohne gehen, wenn nur die statische da ist.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren