請教各位大大我有二個程式:一個用VB開發,另一個用Labview7開發。
因為某些原因所致,需分別用二種開發工具開發。
在VB的程式中,當user點一個按鈕,會去呼叫執行lv的程式,
此時有一些設定值(每次都會不同),
user都需設二次(VB程式先設一次,進入lv程式又要設一次),
所以想說能不能在呼叫lv程式時,能將參數一併傳過去。
Ex: test.exe arg1,arg2,arg3 如此將3個參數傳給test.exe(lv開發)
不知道lv有沒有這個功能,
讓test.vi在程式中接收arg1、arg2、arg3這三個外部傳來的參數。
你只要利用Dll作為VB和LabVIEW的介面,就可以將參數做互傳的工作.
VB---->Dll---->LabVIEW
jimmy-Chen大大!!
我使用C++ Builder5,傳入沒問題,可是傳出經常當機?
DLL 內部的整體數(公共變數) 如何傳出及Labview 如何讀取?
[QUOTE=x8051]
我使用C++ Builder5,傳入沒問題,可是傳出經常當機?
DLL 內部的整體數(公共變數) 如何傳出及Labview 如何讀取?
[/QUOTE]
你的意思是說,用C++ Builder 5做成的Dll,在LabVIEW上引用時,會發生問題,是這樣嗎?
[QUOTE=jimmy-Chen][QUOTE=x8051]
我使用C++ Builder5,傳入沒問題,可是傳出經常當機?
DLL 內部的整體數(公共變數) 如何傳出及Labview 如何讀取?
[/QUOTE]
你的意思是說,用C++ Builder 5做成的Dll,在LabVIEW上引用時,會發生問題,是這樣嗎?
[/QUOTE]
因為我是初學者,Builder 設計那邊沒問題,目前就是Labview 如何將DLL內部宣告的全部變數值取出,除了使用Return 外,是否還有其他方式嗎?
1)你必須要先知道Dll內的Function Prototype.如果是自己寫的Dll就沒問題.
2)在Call Library Finction的設定對話框裡,選擇Library Name的位置及路徑,選擇Function
3)在畫面右邊有Add a Parameter After,Add a Parameter Before及Delete This Parameter.所以你必須要自己設定Function的Parameter.
註:LabVIEW無法自動將所有Function的Parameter列出來.
4)在每個Parameter都可以設定Type,Data Type及Pass型式.
關於Pass應該類似傳值或傳址的功能吧.
我有一份資料您參考看看吧.希望對您有幫助.
2004-06-08_202718_an088.pdf
Good Lucky!
這個已經看過了!!還是說聲"謝謝!!!!!"
目前正在找Labview 與 DLL C 的範例.兩者都要SOURCE CODE.
因為有些範例,只有一邊有SOURCE CODE 另一邊沒有或是只有*.DLL.
無法交叉比對結構,還有的是VC 或 VB.............
喔~
你是要用C++ Builder 5做Dll,但是Source Code不知道要如何寫是嗎?
如果是的話,幫你找找看有沒有這方面的資料.
[QUOTE=jimmy-Chen]
喔~
你是要用C++ Builder 5做Dll,但是Source Code不知道要如何寫是嗎?
如果是的話,幫你找找看有沒有這方面的資料.
[/QUOTE]
兩邊都要有SOURCE CODE 才能交叉比對程式變數及陣列(ARRAY)宣告方式.
目前範例太少,只有Labview 讀取DLL 範例,卻沒有Builder5 DLL SOURCE CODE
x805138147.8053935185
昨天試了快一天,已經找到傳參數的方法了,
原來在LabView 7的範例程式中,
有一個命令列參數的範例 cmdline.llb 可參考,
有興趣的大大可以參考試試。
感謝各位大大的意見與討論。