關於dll的小弟今天的研究,有空的人可以看看example哪邊蠻多這樣的
技巧問題,我這邊提供一個例子,技巧沒多純熟有興趣的人可以研究一下。
要設定你的vi所存的路徑喔。
要讀取的vi2004-04-29_163655_馬達加減速時間換算.vi
寫好的程式2004-04-29_163739_Call_By_Reference_Node.vi
關於dll的小弟今天的研究,有空的人可以看看example哪邊蠻多這樣的
技巧問題,我這邊提供一個例子,技巧沒多純熟有興趣的人可以研究一下。
要設定你的vi所存的路徑喔。
要讀取的vi2004-04-29_163655_馬達加減速時間換算.vi
寫好的程式2004-04-29_163739_Call_By_Reference_Node.vi
不好意思 能否請你轉檔成6.x 的vi 程式
麻煩你再傳一下....謝謝
怎麼轉呢?
我沒做過轉檔的喔
[QUOTE=devis]
不好意思 能否請你轉檔成6.x 的vi 程式
麻煩你再傳一下....謝謝
[/QUOTE]
我依照作者原意,在labview 6.1版中弄了一個相似的程式,試試看吧!!
主檔案: 2004-04-29_230800_call_dll.vi
被呼叫的程式: 2004-04-29_230836_operation.vi
事實上,被呼叫的vi應該是dll檔案中的其中一個vi,若如我的程式做法,可能
會讓大家覺得不如建立一個sub vi較好了,若你將被呼叫的vi當作是你呼叫
某一dll檔中的某一個vi,你應就可以體會這個程式的用意了!!
ps:主程式執行前,一定要先設定好被呼叫之vi的檔案路徑!!
麟仔38106.9705671296
其實這邊我一直有個問題,就是我把我的vi都設定都dll裡面,
哪假如我的主程式並不是應用我上述的方法,而是直接將vi也內建在主程式裡面,
當我編成執行打後,該執行檔是直接會去索引該vi所在的位址嗎?
其實假設我們把一個labview程式編成執行檔的話,不是也可以將主程式
跟subvi分類,subvi都放在dll哪面,大家明白我的意思吧!
<?:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
再來就是,如果我不以我頭一篇發文的技巧,在程式中設定讀取dll裡面的vi,
今天假設我在程式中要讀取的話,有其他方法嗎?[QUOTE=菜鳥]
怎麼轉呢?
我沒做過轉檔的喔
[/QUOTE]
File--> Save with Options---> Save for Previous
不好意思打個岔,就我所知,<span =title1>Calling a VI by Reference跟DLL毫無關係吧…?究竟<span =title1>Calling a VI by Reference跟dll有什麼關係呢?
[QUOTE=菜鳥]
其實這邊我一直有個問題,就是我把我的vi都設定都dll裡面,
哪假如我的主程式並不是應用我上述的方法,而是直接將vi也內建在主程式裡面,
當我編成執行打後,該執行檔是直接會去索引該vi所在的位址嗎?
其實假設我們把一個labview程式編成執行檔的話,不是也可以將主程式
跟subvi分類,subvi都放在dll哪面,大家明白我的意思吧![/QUOTE]
你的意思是不是,用dll來做複雜的計算,用LabVIEW來跟儀器溝通?
C++跟LabVIEW都可以將各自的程式編譯成DLL檔,但是執行效率比較起來,可能C++比較有競爭力。所以我建議如果要將 複雜的計算編譯到DLL檔裡面,最好是用C++來寫,才能達到快速計算的效果。
當然,LabVIEW提供的許多計算功能,其方便性是不容小覷的,但是就執行效能來說,C++比較優...
[QUOTE=Benjamin]不好意思打個岔,就我所知,Calling a VI by Reference跟DLL毫無關係吧...?究竟Calling a VI by Reference跟dll有什麼關係呢?[/QUOTE]
這個其實是我有感而發拉,只是我有時候在看example的vi 時,看到蠻多這種程式的技巧,因為之前我都看不懂,現在看的懂拉,所以我把我知道的寫成一個小程式,讓大家看看以後看到後才不會 跟我一樣。