07-30-2008 08:27 AM
07-31-2008 09:24 AM
Hi AmsafeMike,
You haven't given us much information to go on here. It sounds like you are starting a VBScript that is stored on a server computer from a remote client computer running DIAdem. What version of DIAdem are you running? What does the VBScript do, exactly? Can you connect to the data base in question using the client DIAdem without the server VBScript?
We need to figure out what part of the server VBScript is causing the error. Unfortunately, the error appears to be severe enough that the VBScript engine is not getting the chance to tell you what line of code caused the problem, only the part of DIAdem that was being used. So we know the problem has something to do with interacting with a database, but we don't know where in the server VBScript the problem is.
Try copying the server VBScript to your DIAdem-SCRIPT editor and running the VBScript from there. Sometimes if the VBScript is loaded in the SCRIPT editor you will get more debugging help from the SCRIPT editor-- in particular we're looking for the offending line number. If you still can't figure out what part of the VBScript is failing on that one DIAdem client, try inserting some breakpoints or MsgBox calls at various points in the VBScript loaded in your client SCRIPT editor. This can take some time, but with patience and perserverance you are guaranteed to find the line of code that causes the trouble. Then let us know what that line is and any further error messages you get.
Regards,
Brad Turpin
DIAdem Product Support Engineer
National Instruments
08-01-2008 01:14 PM
I am running Diadem 8.0. The script is located on the network and runs fine from several other computers and has been in use, unchanged, for over a year. The script calls the diadem command CHNCFCFILTCALC from within a do loop. The program must access the database for each channel to get the parameters for how to filter that specific channel, it varies according to how the channel is named. The loop runs through my data set, filtering each channel, until it finds an empty channel name. Then it returns to a menu which allows me to perform other functions.
I added msgbox calls in as you suggested to try and narrow down where the problem is occurring but when I add them in the program does not run the same. For some reason it gets stuck in the do loop and does not increment to the next channel, it keeps trying to filter the first channel no matter how many times I run through the loop.
When I run the script in the script editor, it runs completely fine. The issue doesn’t crop up until I run it in the normal window (not script editor). So I have not been able to narrow it down to much. Plus I get varying errors, I ran it 4 times each with different results. 1st time: crash immediately, no channels filtered, and I got the Access violation that I mentioned earlier, 2nd time: two channels filtered then I get the following message: Exception EAccessViolation in Modul GfSBASE.DLL bei 00002034. Zugriffsverletzung bei Adresse 67D12034 in Modul ‘GfSBASE.DLL’. Schreiben von Adresse 000000011. When I click the OK button the following message appears: the instruction at “0x0136fa10” referenced memory at “0x00000003”. The memory could not be”written”. Click on OK to terminate the program. 3rd time; the program runs and fininshes normally, no problems at all. 4th time: the program filters two of three channels and then stops, the menu system does not pop back up as it should and I have to use the task manager to stop the program.