This is a change in behavior in the latest version of Delphi. We're looking into this. In the meantime set in menu Tools/Options for "Privileged Instructions" is set to "Handled by User program".
I am using LimeLM with Delphi XE2.
A call to IsGenuine(90, 14, true), when starting my program, results in an error message, but only when running from within Delphi's integrated environment. The exception occurs when this line of code is run in the unit TurboActivateUnit:
ret := TurboActivateUnit.IsGenuineEx(TurboActivate_VersionGUID, Addr(options));
The error message is:
Debugger Exception Notification
Project Verifier.exe (my program) raised exception class $C0000096 with message 'privileged instruction at xxxx'.
This does not happen my application is run directly from Windows.
Should I be concerned about this? Please advise. Thanks!
This is a change in behavior in the latest version of Delphi. We're looking into this. In the meantime set in menu Tools/Options for "Privileged Instructions" is set to "Handled by User program".
FYI: The problem that I described can also be found in the sample program for Delphi, which you provide (Delphi.dproj).
I am using Delphi XE2, not the latest version of Delphi.
I also found that the error only happens the first time IsGenuine is called.
I found some discussion on Stackoverflow.com that indicates a messed up pointer can cause this exception.
See: http://stackoverflow.com/search?q=privileged+instruction
I'm planning on releasing a produce soon which uses LimeLM. I need to know if this is a serious problem.
Thanks!
This is a bug in Delphi's default configuration. We've updated our instructions to show you how to fix this: http://wyday.com/limelm/help/using-turboactivate-with-delphi/#privileged-instruction