Pavel писал(а):Когда то копались идай и ольгой но это было очень давно...
Если бы вы вспомнили, что делали для этого, было бы замечательно. А то я даже не знаю, где бряки ставить, чтоб такое выявить. А так, было бы интересно докопаться до истины. :)
Borjomy_1 писал(а):Но вообще-то, граждане, самым порочным в этом парадигме построения программы является передача в SubVI параметров, которые в ней не используются.
Довольно частая практика - передавать в функцию указатель на структуру. В нашем случае в роли функции - SubVI, в роли структуры - кластер, в роли указателя пусть будет DVR или Reference. По-моему, подход вполне в рамках традиций, пусть не для
, а для программирования в целом.
upd:
Вот что нашёл:
Frequently Asked Questions about SubVIs:
NI писал(а):Does LabVIEW make a new copy of data that is passed to a subVI?
If you pass data to multiple locations, all of which read the data without modifying it, LabVIEW does not make a copy of the data. Instead, LabVIEW simply hands each caller a reference to the existing data. To generate a copy of the data, use the Always Copy function.
На Лаве также пишут, что при правильной организации SubVI копий не создаётся:
ned писал(а):A properly-written subVI will not make a copy of data passed into it. You can use the "Show Buffer Allocations" tool to see this. In the subVI, all the front panel terminals should be at the top level (outside any loops and structures), and terminals should be marked required.