<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">Podobne veci jsem resil primitivne
      poslanim zpravy oknu - nestaci to? To by melo jit univerzalne mezi
      vlakny pres post nebo snad i mezi procesy. Rezie asi velka
      uznavam.</div>
    <div class="moz-cite-prefix">Asi existuji primo v systemu nejake
      mechanismy, jak provadet notifikace ale nikdy jsem to
      nepotreboval. Videl jsem  ale uz i reseni, kdy vlakna komuikovala
      pres network i v ramci jedne aplikace :-D<br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Dne 04.03.2022 v 18:43 Pavel Hudeček
      napsal(a):<br>
    </div>
    <blockquote type="cite"
      cite="mid:2cf259d9-c662-0313-d2ce-881aa01844d8@seznam.cz">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      Myslím, že to není ono.<br>
      <br>
      Jde o následující situaci:<br>
      <br>
      <font face="monospace"><b>void callbackFn(int dataCnt);</b><b><br>
        </b><b><br>
        </b><b>namespace pokus1 {</b><b><br>
        </b><b>    ...</b><b><br>
        </b><b>    public ref class MyForm : public
          System::Windows::Forms::Form</b><b><br>
        </b><b>    {</b><b><br>
        </b><b>        ...</b><b><br>
        </b><b>        <font color="#008000">// tady je form a všechny
            controly</font></b><b><br>
        </b><b>        ...<br>
          <br>
        </b><b>            <font color="#008000">// kliknutím na button
            se se odsud spouští ten proces na pozadí:</font></b><b><br>
        </b><b>            startTest( ... callbackFn); <font
            color="#008000">// funkce z externí knihovny</font></b><b><br>
        </b><b>        </b><b><br>
        </b><b>        <font color="#008000">// je tu funkce na
            aktualizaci pictureboxu:</font></b><b><br>
        </b><b>        public: void refreshImg(int dataIdx) {</b><b><br>
        </b><b>            ...</b><b><br>
        </b><b>        }</b><b><br>
        </b><b>    }</b><b><br>
        </b><b>}</b><b><br>
        </b><font color="#008000"><b>// tady, <font color="#ff0000">mimo
              namespace projektu</font> je callbackFn,<br>
            // jinak ji ta startTest nemůže použít</b></font><b><br>
        </b><b>void callbackFn(int dataCnt) {</b><b><br>
        </b><b>    <font color="#008000">// tady by se měl zavolat
            refreshImg(dataCnt-1);<br>
          </font></b><b>}</b></font><br>
      <br>
      PH<br>
      <br>
      <br>
      <div class="moz-cite-prefix">Dne 04.03.2022 v 16:52 Jiří Nesvačil
        napsal(a):<br>
      </div>
      <blockquote type="cite"
        cite="mid:c6655a7b-dea9-756c-ab63-54d72625f6c6@posys.cz">Zdravim,
        <br>
        <br>
        hledejte BeginInvoke <br>
        <br>
        Nesvacil <br>
        <br>
        Dne 04.03.2022 v 16:32 Pavel Hudeček napsal(a): <br>
        <blockquote type="cite">Dobrý den všem, <br>
          <br>
          mějme program psaný ve VS jako CLR aplikaci v C++. <br>
          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. <br>
          <br>
          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í. <br>
          <br>
          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. <br>
          <br>
          Nějaké návrhy, jak to dělat přímočařeji? <br>
          <br>
          Díky, <br>
          PH <br>
          _______________________________________________ <br>
          HW-list mailing list  -  sponsored by <a
            class="moz-txt-link-abbreviated" href="http://www.HW.cz"
            moz-do-not-send="true">www.HW.cz</a> <br>
          <a class="moz-txt-link-abbreviated moz-txt-link-freetext"
            href="mailto:Hw-list@list.hw.cz" moz-do-not-send="true">Hw-list@list.hw.cz</a>
          <br>
          <a class="moz-txt-link-freetext"
            href="http://list.hw.cz/mailman/listinfo/hw-list"
            moz-do-not-send="true">http://list.hw.cz/mailman/listinfo/hw-list</a>
          <br>
        </blockquote>
        _______________________________________________ <br>
        HW-list mailing list  -  sponsored by <a
          class="moz-txt-link-abbreviated" href="http://www.HW.cz"
          moz-do-not-send="true">www.HW.cz</a> <br>
        <a class="moz-txt-link-abbreviated moz-txt-link-freetext"
          href="mailto:Hw-list@list.hw.cz" moz-do-not-send="true">Hw-list@list.hw.cz</a>
        <br>
        <a class="moz-txt-link-freetext"
          href="http://list.hw.cz/mailman/listinfo/hw-list"
          moz-do-not-send="true">http://list.hw.cz/mailman/listinfo/hw-list</a>
        <br>
      </blockquote>
      <br>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
HW-list mailing list  -  sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>