I normally don’t give out product-specific tips. That’s what the LabWare Help Desk is for. However, there is one issue that I think many junior LabWare LIMS people don’t know about and there are even more senior LabWare LIMS specialists that don’t realize this. It’s something that pops-up so often and such a big issue that I want to draw attention to it.
LabWare LIMS programs run asynchronously. Thus, while you might see the programs run in a certain order if you run the debugger, they might not run quite the same way when they run on their own. As your program continues to execute, the actions it has started are not necessarily finished before the next line of code begins to execute. When the system is running quickly, you probably don’t realize this.
But if you do anything that slows the system down, say, by adding more code, running across a slow network, or any other factor that would slow it down, you might begin to notice that each task does not necessarily finish before it’s needed by the next part of the programs.
The capitol sin, here, is to throw in a Wait() command. It’s not going to fix the problem, the problem will continue to pop-up (since you can’t really know how long to “wait’) and it’s just the wrong thing to do. You must fix the problem by figuring out how to move the code around to work properly of the system is never going to be ready for delivery.
In fact, if you use a Wait() command, I hear that there’s a mythical Programmer of Vengeance that will come and cut your fingers off. Mythical or not? I don’t know, but I know I need my fingers, what about you? 😉