Need help with TA functions

I use this code in my c# app, is that correct approach?

daysBetweenChecks=2;graceDaysOnInetErr=2; ta = new wyDay.TurboActivate.TurboActivate(GUIDs, filePath); IsGenuineResult gr = ta.IsGenuine(daysBetweenChecks, graceDaysOnInetErr, true); isGenuine = gr == IsGenuineResult.Genuine || gr == IsGenuineResult.GenuineFeaturesChanged || // an internet error means the user is activated but TurboActivate failed to contact the LimeLM servers gr == IsGenuineResult.InternetError; if (ta.IsActivated()) { if (isGenuine) { actived = true; } else { uint genuineDaysLeft = ta.GenuineDays(daysBetweenChecks, graceDaysOnInetErr, ref isInGracePeriod); if (genuineDaysLeft > 0) { actived = true; } } } if (actived) start_program();

The problem i face is that, it's not always works. I mean, I have 15 modules license-protected (all of them depend on same .dll file where i have protection logic), and when main program loads, it calls all my 15 modules (so they call their own instance of TA licensor check), and every time i load the program, either one or another module fails to return the correct answer.At least i was thinking that on first load, when user installs and the program first-time interacts with server, then ok, might be one or two modules might not get correct answer, by as others get "allowed" answer, then they should store that allowance for 2 days, and shouldnt call servers during that 2 days (+graceperiod days, in sum 4 days).

however, on every run of program, some modules are allowed, some not. on next run, others fail, others allow (different ones)...i am suffering already been working 1 week on these protections.

More information is needed: https://wyday.com/limelm/help/faq/#useful-reports

Version numbers, exactly which function is failing, the error code, exactly the parameters that are being passed into the failing function.

Also, you might consider using custom license fields rather than separate products or versions: https://wyday.com/limelm/help/license-features/#components