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

SRP_JSON, line 228. The DLL calling conventions do not allow a fewer number of parameters.

We encountered the following error earlier this week using SRP_JSON.



After reviewing then reverting a few code changes, I tried updating to the latest version of SRP Utilities. We are now getting the same error but it has moved to line 229.





I suspect it's something on this particular server as our staging server is running the same code on the older version of SRP Utilities and never encounters this error.

Both servers are using OI 10. Any ideas?

Comments

  • I've tried to recreate this in OI 10.2 to no avail. I've most often seen this happen when the BASIC+ code is out of sync with the DLL version. Make sure that SRP_Get_Utilities_Version is returning the same version number as the DLL in OI's working directory. If those match, check to see if there are additional copies of SRP_JSON in SYSOBJ. Remove any copies that have an app in the key (e.g., $SRP_JSON*EXAMPLES).
  • edited August 2023
    Our problem seemed to be caused by the 2nd issue. I found several entries like $SRPUTILITIESAPI_JSONARRAYAPPEND*EXAMPLES in SYSOBJ. I did not find these entries on our staging server so I removed them and now we seem to be okay.

    Any idea how those entries were added to SYSOBJ?

    Note: calling SRP_Get_Utilities_Version threw ENG0016 SRP_WIN32_TO_OI error on line 91. Non-numeric data when numeric required. Zero used and crashed OI.

    Thanks for your help, Kevin!
  • I'm not sure how these get there, but I see it from time to time.

    There was a bug in SRP_Get_Utilities_Version that would crash in OI 10, but it was fixed in version 2.2.6. The latest version is 2.2.8, so make sure you get up to date.
Sign In or Register to comment.