Jump to content

Recommended Posts

Posted

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é

Posted

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!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...