Wednesday, February 14, 2018

SprintDLL - More little improvements

Today I made a few more little changes to SprintDLL to fix and improve some things:

  • If the actual P/Invoke method throws a TargetInvocationException when called, error reports now show the inner exception's message rather than the generic "exception was thrown by the target of an invocation" one. Previously, trying to use a nonexistent function or a function in a nonexistent DLL just produced the generic message, which was not very enlightening.
  • Using the /into switch of the call instruction to return a value into an existing slot now actually works. Previously it always showed the "return type doesn't match type of slot" error message, oops.
  • There is now a zeroslot instruction that, unsurprisingly, sets a slot to zero/null.
  • The newslot instruction no longer creates an uninitialized slot when an error is encountered while parsing the initial value. Previously the uninitialized slot had to be removed with deleteslot before trying the creation again.

No comments:

Post a Comment