請問一下,我想要在程式進行的同時,動態改變Label顯示的文字,所以我寫了下面的一個小程式:test.vi


但是,執行後,卻是有問題的,錯誤訊息如下:

這個東西,以前Jimmy曾經寫過一個「多國語言」的VI,裡面也是這樣子的寫法。在「Propty Node」裡面有一個「Label.text」的方法,但是我不知道應該如何正確使用。但是想一想,在程式裡面,比如Event Structure,裡面的case就是依照Label去索引的(不知道這樣講對不對),

如果我在程式進行的同時,就更改控制元的Label,那這樣程式裡面是不是會大亂呢?想到這裡,就覺得那個錯誤訊息講的有道理,那個錯誤訊息說:這個更改Label的字樣的動作必須是在「Edit Mode」下才可以進行,但是,要如何能坐在程式Run的時候做到呢?
我想請教一下,如果我想要在程式進行的同時,動態修改Label的文字內容,請問我應該如何做呢?
如果是我,我不會在動態的時候去改變Label Name.顯示在Front Panel上的文字,我會利用Caption Text來顯示.
沒錯,就算Label Text改變,Events structure裡面的事件也會改變.
可以利用Open Vi Ref...來取得另一個Vi的Front Panel上的控制元在來改變該元件的相關屬性.

2004-11-23_191621_Label_Name.vi
2004-11-23_191633_Label_Name_p1.vi
還有..沒辦法一邊執行一邊改變Label Name.
jimmy-Chen38314.8031828704
之前我也想這樣子弄,結果也是顯示這個錯誤訊息。
我之前的用途只是指引使用者使用而已,故我將Lable 隱藏起來而只顯示caption...這樣是有達到我的目的,但還是不能更改Lable! 我也是覺得要改Lable是不太可能,誠如Benjamin所述會引起程式內部識別上的大亂。

我沒想過這個問題耶 , 不過在物件的程式語言內
物件的名稱本來就是不可以在程式中去改變的
在文字的程式語言, 甚至在未執行時去修改
都會造成執行時找不到物件而當機
LabVIEW算是不錯了, 修改Label Name其他相關的部份都會自動修正
所以才會另外有Caption Name
真是太感恩了...才post一下子,就得到這麼多的回應,謝謝各位...感恩.....
[QUOTE=jimmy-Chen]如果是我,我不會在動態的時候去改變Label Name.顯示在Front Panel上的文字,我會利用Caption Text來顯示.[/QUOTE]
就這麼決定,Label Text讓程式自己去做識別使用,而我如果要變換顯示元的字樣的話,就改變「Caption Text」。想像成說:
- Label Text:是給程式內部識別用的
- Caption Text:是給使用程式的user看的。
雖然Label Text跟Caption Text都可以顯示在程式的front pannel上面,但是還是顯示Caption Text就好,Label text 先把它隱藏起來。

本來在Front Panel上的所有顯示文字,都以Caption Text為主比較好.
Label Name可以在進行ini檔案的參數讀取與參數寫入時,可以用Label Name來作為ini檔案的Section Name或Key Name.
在多國語言的架構上以Caption Name來設計比較好.