NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

DetermineReportFilePathNameExpr missing DLLs Testand 2014 SP1

Solved!
Go to solution

In my Process Model Sequence is a call to DetermineReportFilePathNameExpr contained in modelsupport2.dll . (Teststand 2014 64 bit)  This call makes the Teststand Sequence Editor stop working. I guess (?) that the reason are missing DLLs as follows

 

My system

 

  • Windows 7 64 bit
  • Testand 2014 SP1 (14.0.1.103) 64 bit
  • Sequence Editor Version 14.0.1.103

In the Dependency Walker analysing modelsupport2.dll used in calling DetermineReportFilePathNameExpr i see the following DLLs missing on my system :

 

  • API-MS-WIN-APPMODEL-RUNTIME-L1-1-0.DLL
  • API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
  • API-MS-WIN-CORE-WINRT-L1-1-0.DLL
  • API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
  • API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
  • API-MS-WIN-SHCORE-SCALING-L1-1-1.DLL
  • DCOMP.DLL
  • IESHIMS.DLL

How can i get these DLLs ?

 

Best regards

0 Kudos
Message 1 of 7
(4,857 Views)

Hi!

 

please have a look at the following stackoverflow question, which sounds very similar in my opinion:

 

windows - Win 7, 64 bit, dll problems - Stack Overflow
http://stackoverflow.com/questions/17023419/win-7-64-bit-dll-problems

 

Seems like it is connected to a missing/wrongly installed Visual Studio Redistributable Package.

 

Best regards,

Christoph

Staff Applications Engineer
National Instruments
Certified LabVIEW Developer (CLD), Certified LabVIEW Embedded Systems Developer (CLED)


Don't forget Kudos for Good Answers, and Mark a solution if your problem is solved
0 Kudos
Message 2 of 7
(4,818 Views)

Hey Rainman,

 

It is unlikely that those DLLs are the issue. When I loaded modelsupport2.dll on my computer I saw the same missing DLLs and my TestStand system does not hang in the process model. 

 

  1. Can you describe the behavior in more detail? What does "stop working" mean? Does sequence editor go gray and unresponsive? Does it just crash?
  2. How were you able to determine that DetermineReportFilePathNameExpr was at fault?
  3. Which step in the process model causing this behavior?
  4. Are you making a custom process model?
  5. What values are you passing to the DetermineReportFilePathNameExpr function?

What I think is happening is that this function is trying to do is to get/set a path the TestStand process does not have access to. This could be because of Windows permissions or because you are trying to write to a get information from a network drive and it is taking a very long time to look up the path. Anti-virus is something else that can cause trouble.

 

Thanks,

 

-KP

Kurt P
Automated Test Software R&D
0 Kudos
Message 3 of 7
(4,799 Views)

Hi Kurt

 

thank you for your attention.

The following message occurs when the step is executed (single step, single pass). Unfortunately this is all, no further information is available .

Teststand2014_1.jpg

 

Then the Teststand Sequence Editor works no more.

 

The step in my custom process model causing this message is as follows:

The values passed to the function DetermineReportFilePathNameExpr  can be seen.

No network drive is used.

Teststand_2.jpg

 

Thank you

Rainman

 

0 Kudos
Message 4 of 7
(4,781 Views)
Solution
Accepted by topic author Rainman_54

Hey Rainman,

 

TestStand ships with the source code for modelsupport2.dll. It is located in the TestStand conponents directory: 

 

32-bit: C:\Program Files (x86)\National Instruments\TestStand 2014\Components\Models\TestStandModels\modelsupport2

64-bit: C:\Program Files \National Instruments\TestStand 2014\Components\Models\TestStandModels\modelsupport2

 

You can compile it if you have CVI on the system. If not, you can at the very least still look at the .c files and see what is going on in the code. 

 

For this particular funtion, it looks like we changed it over the years. The newer version of the function is DetermineReportFilePathNameExprEx2 and has two more parameters: processModelClientPath and uutPartNum. If you are creating a new process model from scratch, this is the call you should use so your process model is more exstensible should you ever decide you need that information. 

 

Try the DetermineReportFilePathNameExprEx2, and pass values in for processModelClientPath and uutPartNum. If that still causes TestStand to hang, then I would recommend building a debug DLL to see the line of code where this happen. 

 

Edit: Also try passing a value or empty string "" for uutStatus. Passing Nothing might be a problem. I don't expect it to be a problem because TestStand converts this to a Null point of the appropriate architecture, but it is worth testing out. 

 

Thanks,

-KP

Kurt P
Automated Test Software R&D
0 Kudos
Message 5 of 7
(4,753 Views)

All,

 

I filed Bug report 572171 for this behavior. The work around is pass empty string "" or any value in DetermineReportFilePathNameExprEx2 for the uutPartNum parameter. 

 

Thank you,

 

-KP

Kurt P
Automated Test Software R&D
0 Kudos
Message 6 of 7
(4,644 Views)

Hi Kurt,

i re-activate this thread because your suggestion resulted in another issue:

I used "DetermineReportFilePathNameExprEx2" and had no direct error. I passed an empty string to uutPartNum. But now the makro in "ClientFileName" in the "Report File Pathname Tab" is not present in the file name of the report in the file system. Instead it is replaced by some "UnsavedSequenceFile" part in the file name. But the affected sequence file of course is saved.

Curiously in the window for the "Report Options" -> "Report File Pathname Tab" the "ClientFileName" makro is evaliuated correctly as shown below ("testprüffall.seq" is its file name in this case).

Regards Rainer

 

 

0 Kudos
Message 7 of 7
(3,127 Views)