Reen Geschrieben April 10, 2012 at 16:24 Geschrieben April 10, 2012 at 16:24 Hallo! Ich weiß nicht ob ich hier richtig bin aber ich brauche dringend Hilfe. Ich versuche einen Schrittmotor mit dem Stepper-Brick und einem Poti-Bricklet zu betreiben. Hierfür möchte ich gerne eine VCL-Anwendung unter C++ Programmieren. Leider ist es mir nicht möglich eine Callbackfunktion zu verwenden. Kann mir hierfür jemand ein kurzes Beispiel geben wie so etwas richtig gemacht wird. Wenn ich eine void Funktion in die Unit schreibe, welche durch die Callback Funktion aufgerufen wird, kann ich in meiner eignen Void-Funktion leider keine VCL-Elemente im Formular manipulieren. ZB ein Label zum Anzeigen des Poti-Wertes. Ich arbeite mit dem C++ Builder. Grüße René Zitieren
borg Geschrieben April 10, 2012 at 19:37 Geschrieben April 10, 2012 at 19:37 Ich kenne mich mit VCL leider nicht aus, aber kannst du nicht einfach eine Funktion wie "setLabelText" aus dem Callback heraus aufrufen? Also sowas wie: class Beispiel { public: callback(int16_t position); // Ruft setLabelText(toStr(position)) auf setLabelText(string str) // Setzt Text in label private: VCLLabel label; } Die eigentliche Frage hier ist ob ein Label in VCL Thread safe ist, falls nicht musst du die Position zwischenspeichern und aus dem GUI Thread heraus den Wert setzen! Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.