When Open1DView is launched it:
1. Attemps to connect to 1DView VI Server using "Open Application Reference" set the machine name to "localhost" or "127.0.0.1"; do not leave empty. Set the port number to 1DView VI Server value. It defaults to 3363 but since LabVIEW already uses it on your machine, pick up another.
2. If connection fails, it launchs 1DView using "System Exec.vi" and reattemps a VI Server connection. Launching 1DView when it is running causes no harm and brings it panel on front so you can always do it anyway without checking the connection.
3. Opens a VI reference to FileManager.vi. With the call by reference method, FileManager.vi notify its main application that there is a file to open an exits immediately after, not
to hog Open1DView. With the Run method, set a control value on its panel and run it without waiting.
4. quits with "Quit LabVIEW". It terminates and unloaded from memory.
5. It is now ready for next double-click.
On the 1DView side:
If FileManager.vi is called, it must notify (by occurence, queue, notifier, etc.) the application that there is a file to open and exits as soon as possible. If it is run, it can run a little loger since Open1DView does not wait. But as long as it is running, it is not available to receive a new file. When the application is notified, act on the file as you wish (append to existing data, view in a new window running a .VIT, etc).
>Do you know an other way to pass "orders" between vi
>without using big stuff like datasocket.
There are:
Files: obsolete and inefficient
DDE: obsolete (Win16)
TCP/UDP: you will ha ve to write a server that waits on TCP/UPD connnections, receive file string from the client in Open1DView.
VI Server: uses TCP anyw
ay but you don't have to write server/client VIs.
ActiveX VI Server: similar functionality to Call and Run VIs to TCP VI Server, but using ActiveX
I assure you that it works. Post again if you still have problems.
Good Luck.