Re: Visual studio C++ CLR - vyvolání grafické akce z callbacku

Pavel Hudeček edizon na seznam.cz
Pátek Březen 4 18:43:27 CET 2022


Myslím, že to není ono.

Jde o následující situaci:

*void callbackFn(int dataCnt);**
**
**namespace pokus1 {**
**    ...**
**    public ref class MyForm : public System::Windows::Forms::Form**
**    {**
**        ...**
**// tady je form a všechny controly**
**        ...

**// kliknutím na button se se odsud spouští ten proces na pozadí:**
**            startTest( ... callbackFn); // funkce z externí knihovny**
****
**// je tu funkce na aktualizaci pictureboxu:**
**        public: void refreshImg(int dataIdx) {**
**            ...**
**        }**
**    }**
**}**
**// tady, mimo namespace projektu je callbackFn,
// jinak ji ta startTest nemůže použít**
**void callbackFn(int dataCnt) {**
**// tady by se měl zavolat refreshImg(dataCnt-1);
****}*

PH


Dne 04.03.2022 v 16:52 Jiří Nesvačil napsal(a):
> Zdravim,
>
> hledejte BeginInvoke
>
> Nesvacil
>
> Dne 04.03.2022 v 16:32 Pavel Hudeček napsal(a):
>> Dobrý den všem,
>>
>> mějme program psaný ve VS jako CLR aplikaci v C++.
>> Program spustí funkci běžící na pozadí, která občas vyvolá callback a 
>> tím oznamuje, že jsou k dispozici nová data. Pak by se měl 
>> aktualizovat picturebox, případně objevit záznam v listboxu a vše 
>> pokračuje dál.
>>
>> Jenže nemůžu přijít na to, jak z tý callback funkce, která není 
>> součástí managed prostředí, vyvolat akci v managed prostředí.
>>
>> Teda funguje mi varianta, že callback nastaví nějakou globální 
>> proměnnou a na tu periodicky kouká timer, ale to je takový poněkud 
>> nepraktický, protože délka "občas" závisí na kvantových jevech a může 
>> dosahovat 100 kHz, nebo taky půl hodiny.
>>
>> Nějaké návrhy, jak to dělat přímočařeji?
>>
>> Díky,
>> PH
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20220304/5c293c9b/attachment.htm>


Další informace o konferenci Hw-list