Welcome to the SRP Forum! Please refer to the SRP Forum FAQ post if you have any questions regarding how the forum works.

Compilation error re: SRP_Precompiler + SrpUtils

Hi guys

We upgraded today to SRP Editor 3.0.4 RC4, SRP Utils 4.1.1 RC3

Whenever we open an existing commuter routine (i.e. ending xxx_EVENTS) the following line gets automatically added:
#pragma precomp SRP_PreCompiler

Then when compiling it breaks to the debugger with the following error:
ENG0805: SRP_CLEAN_ARRAY, line 68. Function SRPCleanArrayA does not exist in dynamic link library SRPUTILITIES

If the pragma command gets deleted, we can compile again. Is there a way to turn off the auto-adding of this pragma command, and or resolve this?

p.s. I looked into https://wiki.srpcs.com/display/SRPUtilities/SRP_PreCompiler - I didn't know about this, you've got some great features there.


  • I'm thinking the real issue might be that the srputilities.dll didn't get updated so now your utilities source is out of sync with the actual dll.
    Find that file and verify it is the latest copy. The precompiler issue is just how you identified the symptom and is likely not the actual problem
  • I agree, the newer SRPUtilities.dll probably didn't get copied in, which is a common problem when the SRP Utilities is already in use. We rely upon the RDK itself to copy the file in. This means our installer is unaware of any problems. If you've verified the file in your OI folder is older, then make sure no one is running OI and try to re-install. If that still doesn't work, then try deleting the older SRPUtilities.dll file first.

    With regard to the pragma line being added, it should only do this if it detects our enhanced syntax. I'm guessing you did not knowingly write any enhanced BASIC+ syntax. If so, then I'm curious as to what gave the SRP Editor a false positive on this. I'd love for you to send a copy of your code to support@srpcs.com so we can review and see what caused this to happen.
  • Thanks guys

    Everyone was out supposedly of the system in Dev when the install occurred, but you're right it sounds like the utliities dll is out of sync. Don, I've sent you the first commuter routine where the pragma occurred.
  • @jamanga - Your code helped us to find some overzealous parsing on our end that caused the pragma line to be added to your code unexpectedly. We tightened this up. You can download the latest SRPUtil.ocx from this link and confirm for yourself. Of course, if you run into other false positives then please let us know.
  • Thanks Don and team
  • Hi Don

    The patch worked, no more automatic pragma instruction re: SPRUtil.ocx - thanks for your speedy service on this.

    We still have the other issue in that we can't see the SRPUtilities.dll. I removed the old 2016 version tried re-installing https://products.srpcs.com/srp-utilities/ as an admin to our dev unc path \\dgtdevtest\devapps\revsoft\openinsight. The SYSOBJ$ references for the routines etc, however I can't see where the SRPUtilities.dll went, and calling an SRP routine e.g SRP_SORT_ARRAY now breaks to the debugger with an ENG0805 as per the first message.

    Any ideas, or could we just get our hands on the updated dll and register it ourselves perhaps?
  • I all likelihood it went nowhere. I'm still of the opinion that the RDK failed to copy in the DLL file due to file system reasons. I can't explain why, especially given that you deleted the older file. Sometimes a reboot of the server is necessary to release the file. Nevertheless, if you want to try and manually copy the file in then please download SRPUtilities v2.14 from this link.
  • Got it - thanks we are now fully functional again! Yay.

    I can tell you one other strange thing that when installing, when selecting the destination only about half of the mapped drives were listed. Specifically the T:\REVSOFT\OpenInsight wasn't there and typing it manually didn't work ie. the Next button remained greyed out, until I entered the UNC path as listed above.
  • Is that DLL the same for OI10?
  • @BarryStevens - Normally we would recommend people download from our products site (as Kevin linked you to), but in James' situation, he did that but the DLL wasn't installing and he didn't have a way to pull the DLL out of the installer. Thus, I just gave him a link to download the OI 9 friendly DLL so he could copy it in manually. If you are working in OI 10, then the installer on the products site should work just fine. That is, unless you already have OI 10 deployed with multiple users connecting to it. Then you might face the same problems James did.
Sign In or Register to comment.