<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Refresh WebVisu Client through FBChangeVisu</title><link href="https://forge.codesys.com/forge/talk/Visualization/thread/3e62823746/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Visualization/thread/3e62823746/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Visualization/thread/3e62823746/</id><updated>2021-03-29T05:57:29.551000Z</updated><subtitle>Recent posts to Refresh WebVisu Client through FBChangeVisu</subtitle><entry><title>Refresh WebVisu Client through FBChangeVisu</title><link href="https://forge.codesys.com/forge/talk/Visualization/thread/3e62823746/?limit=25#9142/dd37/1ae6/df1b/5016/21ee" rel="alternate"/><published>2021-03-29T05:57:29.551000Z</published><updated>2021-03-29T05:57:29.551000Z</updated><author><name>m.prestel</name><uri>https://forge.codesys.com/u/mprestel/</uri></author><id>https://forge.codesys.com1219ca91bfe274495ab2c126fc4288f79b5370e1</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;The solution CODESYS followed was to use the common behavior model and do it this way.&lt;/p&gt;
&lt;p&gt;In general I personally think that if you can get the instance path to a variable, someone will simply read/write to it, because it is a quick solution.&lt;br/&gt;
Most people are not aware of multi tasking/threading issues.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br/&gt;
Marcel&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Refresh WebVisu Client through FBChangeVisu</title><link href="https://forge.codesys.com/forge/talk/Visualization/thread/3e62823746/?limit=25#9142/dd37/1ae6/df1b/538d/10b0" rel="alternate"/><published>2021-03-29T05:53:21.605000Z</published><updated>2021-03-29T05:53:21.605000Z</updated><author><name>m.prestel</name><uri>https://forge.codesys.com/u/mprestel/</uri></author><id>https://forge.codesys.combffff748e88f888e5dbc7a59702b5babd32afaa5</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Again it would be way better for you to reproduce and report the issue.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Refresh WebVisu Client through FBChangeVisu</title><link href="https://forge.codesys.com/forge/talk/Visualization/thread/3e62823746/?limit=25#9142/dd37/1ae6/df1b/5016" rel="alternate"/><published>2021-03-27T04:41:59.240000Z</published><updated>2021-03-27T04:41:59.240000Z</updated><author><name>rickj</name><uri>https://forge.codesys.com/u/rickj/</uri></author><id>https://forge.codesys.com892cbf5d3122ec4e8fc1d4df22c5ac9bfd1a996f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Thanks Marcel and rckalex for all the info.&lt;/p&gt;
&lt;p&gt;Marcel, Just wondering, wouldn't all this be much easier to do if one could attach code at session/client, screen, and element levels as many other HMI systems do.  For example, to create a client timeout one would just put a timer and a change screen command in  a program having context/scope within a client.  Same for screens and for elements.&lt;/p&gt;
&lt;p&gt;It would make all the "not calling from visu task crashes" go away, would it not?&lt;/p&gt;
&lt;p&gt;Anyway thank you for the help is is so much appreciated.&lt;/p&gt;
&lt;p&gt;Rick&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Refresh WebVisu Client through FBChangeVisu</title><link href="https://forge.codesys.com/forge/talk/Visualization/thread/3e62823746/?limit=25#9142/dd37/1ae6/df1b/538d" rel="alternate"/><published>2021-03-25T16:55:54.794000Z</published><updated>2021-03-25T16:55:54.794000Z</updated><author><name>rckalex</name><uri>https://forge.codesys.com/u/rckalex/</uri></author><id>https://forge.codesys.comcc2a424fbf5147ede0d6230fbc3830cf481f358a</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Marcel,&lt;/p&gt;
&lt;p&gt;As written it will refresh any client on that visualization page not just one with an extended duration. I would have to have a different custom filter for every visualization in the project. Prior to posting my question I already had a customer VisuClientIteration and ClientFilter based on your recommendation in this thread (https://forge.codesys.com/forge/talk/Deutsch/thread/f14041c158/?limit=25#9c5f).&lt;/p&gt;
&lt;p&gt;Do you see any issue with implementing the custom Iteration with the HandleClient method doing the refresh?&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;FUNCTION_BLOCK&lt;/span&gt; &lt;span class="nv"&gt;VisuClientIteration&lt;/span&gt; &lt;span class="nv"&gt;IMPLEMENTS&lt;/span&gt; &lt;span class="nv"&gt;VU&lt;/span&gt;.&lt;span class="nv"&gt;IVisualizationClientIteration&lt;/span&gt;
&lt;span class="nv"&gt;VAR_INPUT&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="nv"&gt;VAR_OUTPUT&lt;/span&gt;
&lt;span class="nv"&gt;END_VAR&lt;/span&gt;
&lt;span class="nv"&gt;VAR&lt;/span&gt; 
    &lt;span class="nv"&gt;fbVisuRefresh&lt;/span&gt;   : &lt;span class="nv"&gt;VU&lt;/span&gt;.&lt;span class="nv"&gt;FbChangeVisu&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;fbClientRefreshFilter&lt;/span&gt; : &lt;span class="nv"&gt;ClientFilterRefreshScreen&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;fbTargetedClientFilter&lt;/span&gt; : &lt;span class="nv"&gt;ClientFilterTargeted&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;xRefreshDone&lt;/span&gt;    : &lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;eRefreshError&lt;/span&gt;   :  &lt;span class="nv"&gt;VU&lt;/span&gt;.&lt;span class="nv"&gt;ERROR&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;xRefreshBusy&lt;/span&gt;    : &lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;xRefreshError&lt;/span&gt;   : &lt;span class="nv"&gt;BOOL&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

&lt;span class="nv"&gt;END_VAR&lt;/span&gt;

&lt;span class="o"&gt;------------------------------------&lt;/span&gt;

&lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;iNumberOfClients&lt;/span&gt;:&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;iNumberOfClients&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

    &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;aStClientInfo&lt;/span&gt;[&lt;span class="nv"&gt;itfClient&lt;/span&gt;.&lt;span class="nv"&gt;ClientId&lt;/span&gt;].&lt;span class="nv"&gt;iClientID&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;itfClient&lt;/span&gt;.&lt;span class="nv"&gt;ClientId&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;aStClientInfo&lt;/span&gt;[&lt;span class="nv"&gt;itfClient&lt;/span&gt;.&lt;span class="nv"&gt;ClientId&lt;/span&gt;].&lt;span class="nv"&gt;stCurrentVisu&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;itfClient&lt;/span&gt;.&lt;span class="nv"&gt;CurrentVisuName&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
        &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;aStClientInfo&lt;/span&gt;[&lt;span class="nv"&gt;itfClient&lt;/span&gt;.&lt;span class="nv"&gt;ClientId&lt;/span&gt;].&lt;span class="nv"&gt;timeLastScreenChange&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;dwNow&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;END_IF&lt;/span&gt;
    &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;aStClientInfo&lt;/span&gt;[&lt;span class="nv"&gt;itfClient&lt;/span&gt;.&lt;span class="nv"&gt;ClientId&lt;/span&gt;].&lt;span class="nv"&gt;stCurrentVisu&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;itfClient&lt;/span&gt;.&lt;span class="nv"&gt;CurrentVisuName&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;aStClientInfo&lt;/span&gt;[&lt;span class="nv"&gt;itfClient&lt;/span&gt;.&lt;span class="nv"&gt;ClientId&lt;/span&gt;].&lt;span class="nv"&gt;wsUserName&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;itfClient&lt;/span&gt;.&lt;span class="nv"&gt;UserName&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;aStClientInfo&lt;/span&gt;[&lt;span class="nv"&gt;itfClient&lt;/span&gt;.&lt;span class="nv"&gt;ClientId&lt;/span&gt;].&lt;span class="nv"&gt;sIpAddress&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;itfClient&lt;/span&gt;.&lt;span class="nv"&gt;GetIPv4Address&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;aStClientInfo&lt;/span&gt;[&lt;span class="nv"&gt;itfClient&lt;/span&gt;.&lt;span class="nv"&gt;ClientId&lt;/span&gt;].&lt;span class="nv"&gt;ClientType&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;itfClient&lt;/span&gt;.&lt;span class="nv"&gt;ClientType&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;aStClientInfo&lt;/span&gt;[&lt;span class="nv"&gt;itfClient&lt;/span&gt;.&lt;span class="nv"&gt;ClientId&lt;/span&gt;].&lt;span class="nv"&gt;timeLastActive&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;dwNow&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

    &lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;aStClientInfo&lt;/span&gt;[&lt;span class="nv"&gt;itfClient&lt;/span&gt;.&lt;span class="nv"&gt;ClientId&lt;/span&gt;].&lt;span class="nv"&gt;timeLastScreenChange&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;dwNow&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nv"&gt;GVL&lt;/span&gt;.&lt;span class="nv"&gt;dwScreenRefreshDuration&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
        &lt;span class="nv"&gt;gvl&lt;/span&gt;.&lt;span class="nv"&gt;iClientToRefresh&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;itfClient&lt;/span&gt;.&lt;span class="nv"&gt;ClientId&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
        &lt;span class="nv"&gt;fbVisuRefresh&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;itfclientFilter&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;fbTargetedClientFilter&lt;/span&gt;, &lt;span class="nv"&gt;eError&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;eRefreshError&lt;/span&gt;, &lt;span class="nv"&gt;xExecute&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TRUE&lt;/span&gt;, &lt;span class="nv"&gt;xDone&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;xRefreshDone&lt;/span&gt;, &lt;span class="nv"&gt;xError&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;xRefreshError&lt;/span&gt;, &lt;span class="nv"&gt;xBusy&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;xRefreshBusy&lt;/span&gt;, &lt;span class="nv"&gt;sVisuName&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;itfClient&lt;/span&gt;.&lt;span class="nv"&gt;CurrentVisuName&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
    &lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;In this case the IsAccepted method of the ClientFilterTargeted is checking&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;itfClient&lt;/span&gt;.&lt;span class="nv"&gt;ClientId&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;gvl&lt;/span&gt;.&lt;span class="nv"&gt;iClientToRefresh&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;
    &lt;span class="nv"&gt;IsAccepted&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;TRUE&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry><entry><title>Refresh WebVisu Client through FBChangeVisu</title><link href="https://forge.codesys.com/forge/talk/Visualization/thread/3e62823746/?limit=25#9142/dd37/1ae6/df1b" rel="alternate"/><published>2021-03-25T07:05:30.045000Z</published><updated>2021-03-25T07:05:30.045000Z</updated><author><name>m.prestel</name><uri>https://forge.codesys.com/u/mprestel/</uri></author><id>https://forge.codesys.comb0b55259d42ad341d86401d514291241ed4b896f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nt"&gt;PROGRAM&lt;/span&gt; &lt;span class="nt"&gt;PLC_PRG&lt;/span&gt;
&lt;span class="nt"&gt;VAR&lt;/span&gt;
    &lt;span class="nt"&gt;changeVisu&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;VU&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;FbChangeVisu&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="nt"&gt;xExecute&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;BOOL&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="nt"&gt;eError&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;VU&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;ERROR&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="nt"&gt;xError&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;BOOL&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="nt"&gt;xBusy&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;BOOL&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="nt"&gt;xDone&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;BOOL&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="nt"&gt;itfClientFilter&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;VU&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;IVisualizationClientFilter&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nt"&gt;VU&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Globals&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;AllClients&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="nt"&gt;END_VAR&lt;/span&gt;
&lt;span class="nt"&gt;----&lt;/span&gt;
&lt;span class="nt"&gt;changeVisu&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;itfClientFilter&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nt"&gt;itfClientFilter&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;eError&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;eError&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;xExecute&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="nt"&gt;xExecute&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;xDone&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;xDone&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;xBusy&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;xBusy&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;xError&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;xError&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;sVisuName&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="s1"&gt;'Screen'&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</summary></entry><entry><title>Refresh WebVisu Client through FBChangeVisu</title><link href="https://forge.codesys.com/forge/talk/Visualization/thread/3e62823746/?limit=25#0ac1/d763/f87d/374c" rel="alternate"/><published>2021-03-25T06:54:01.656000Z</published><updated>2021-03-25T06:54:01.656000Z</updated><author><name>m.prestel</name><uri>https://forge.codesys.com/u/mprestel/</uri></author><id>https://forge.codesys.com0edbd1548e624a20cd26d3ef7242d7065fc710a6</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Implement your own IVisualizationClientFilter.&lt;br/&gt;
Accept will be called with IVisualizationClient, which  contains the property CurrentVisuName &lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Refresh WebVisu Client through FBChangeVisu</title><link href="https://forge.codesys.com/forge/talk/Visualization/thread/3e62823746/?limit=25#9142/dd37/1ae6/7d4d" rel="alternate"/><published>2021-03-25T06:14:17.143000Z</published><updated>2021-03-25T06:14:17.143000Z</updated><author><name>m.prestel</name><uri>https://forge.codesys.com/u/mprestel/</uri></author><id>https://forge.codesys.com016a723a4021b336ea99dafabc32adff0311fca4</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;GetNextClient will produce a warning starting with SP17.&lt;/p&gt;
&lt;p&gt;The problem is simple, most of the users access visu data outside of the visu task resulting in possible crashes.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Refresh WebVisu Client through FBChangeVisu</title><link href="https://forge.codesys.com/forge/talk/Visualization/thread/3e62823746/?limit=25#fc85" rel="alternate"/><published>2021-03-25T00:27:25.912000Z</published><updated>2021-03-25T00:27:25.912000Z</updated><author><name>rickj</name><uri>https://forge.codesys.com/u/rickj/</uri></author><id>https://forge.codesys.com91ce2db1ede517a188b0e356c55e8cfccfa9e1d0</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Yes, examples would be very helpful.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Refresh WebVisu Client through FBChangeVisu</title><link href="https://forge.codesys.com/forge/talk/Visualization/thread/3e62823746/?limit=25#9142/dd37/1ae6" rel="alternate"/><published>2021-03-24T16:51:04.676000Z</published><updated>2021-03-24T16:51:04.676000Z</updated><author><name>rckalex</name><uri>https://forge.codesys.com/u/rckalex/</uri></author><id>https://forge.codesys.comc609eee7fa6707c5bf55dc64a5c18f8fe71d9bca</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Marcel,&lt;/p&gt;
&lt;p&gt;Is the official stance to no longer use the method proposed by Rick/illustrated in the sample? Is there a sample project you could point me towards that accomplishes the same using visu utils?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Refresh WebVisu Client through FBChangeVisu</title><link href="https://forge.codesys.com/forge/talk/Visualization/thread/3e62823746/?limit=25#0ac1/d763/f87d" rel="alternate"/><published>2021-03-24T16:47:12.606000Z</published><updated>2021-03-24T16:47:12.606000Z</updated><author><name>rckalex</name><uri>https://forge.codesys.com/u/rckalex/</uri></author><id>https://forge.codesys.com81f859769d6b2cb205c777867dfc35bd3bcdf762</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Marcel,&lt;/p&gt;
&lt;p&gt;I'll check to see if the behavior is browser agnostic and then report if necessary. In the interim there is an issue that I need to work around. Is there a way to reference the "CurrentVisuName" parameter of the current client as it works through the client filter (VU.IVisualizationClientFilter)?&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>