Using TurboActivate with Real Studio (Real Basic)
Before you can do anything you need to login to your LimeLM account (or sign up). Then download TurboActivate for Windows, Mac OS X, or Linux:
- Download TurboActivate for Windows: contains TurboActivate.dll, TurboActivate.exe, & source code examples.
- Download TurboActivate for Mac OS X: contains libTurboActivate.dylib & source code examples.
- Download TurboActivate for Linux: contains libTurboActivate.so & source code examples.
Adding licensing & online activation to your app
After you've created a new product, go to the version page of the product you will be adding licensing to. You will need to do 2 things:
- Download the TurboActivate.dat file for the product version.
- Make a note of the Version GUID.
You'll be including the TurboActivate.dat file in the same folder as the TurboActivate.dll file and you'll use the Version GUID in your code as part of integrating TurboActivate within your app.
Example project
Included in TurboActivate API packs (get them on the API page) is a simple Real Basic example project. We've also included all the files you need to add to your Real Studio project within the "Import to your project" folder. Just drag all of the files in that folder into your Real Studio "Project" tab (or add the files one-by-one using the "File -> Import..." menu). The TurboActivate module contains all the functions you'll be using to add licensing, online-activation, and trial functionality to your app.
TurboActivate on Windows
On Windows you'll be using the x86 version of TurboActivate. Copy the TurboActivate.dll to the same folder as the example project (and your project). And while you're at it put the TurboActivate.dat file that you downloaded earlier in this same folder. Now you can use TurboActivate while debugging your app. If you're not outputing your final exe to the same folder as your Real Studio project then make sure to include the TurboActivate.dll and TurboActivate.dat files in the same folder as your outputted *.exe file.
TurboActivate on Mac OS X
Mac OS X is a bit different than Windows. On Windows, when you build your app, you have a single exe and all you have to do is include the TurboActivate.dat and TurboActivate.dll files in the same folder as that exe. On Mac OS X, however, when you build your app a "bundle" is created. If you're not familiar with Mac OS X an "app bundle" is like an exe (you double click it and your app runs), however behind the scenes the "bundle" is just a folder with the actual app and resources in sub-folders.
For instance, when you use our example Real Studio project and build on Mac a "TestApp" bundle will be output:

This is really a folder called "TestApp.app". When you're releasing your app for customers you'll want the TurboActivate.dat and libTurboActivate.dylib files to be inside the app bundle. You can do this manually by right clicking the app bundle (in the example, TestApp) then clicking "Show Package Contents":

Add the TurboActivate.dat file to the TestApp.app/Contents/MacOS/ folder and add the libTurboActivate.dylib file to the TestApp.app/Contents/Frameworks/ folder.
If you actually want to use TurboActivate while you're debugging your app then you need to make a temporary change to the "TALibrary" constant in the TurboActivate module:

For instance, to use the libTurboActivate.dylib in the same folder as your app's bundle, then change the "Mac OS" value to the following:
@executable_path/../../../libTurboActivate.dylib
You'll also need to call PDetsFromPath() to load the TurboActivate.dat:
#If DebugBuild
PDetsFromPath("/location/to/TurboActivate.dat")
#Endif
VersionGUID
You must set the VersionGUID constant in the TurboActivate module before you use any TurboActivate functions. Just paste the Version GUID that you copied earlier into the "Default Value" text box:

IsActivated()
The IsActivated() function simply checks if the user is activated and returns a boolean value.
UseTrial(), TrialDaysRemaining()
The UseTrial() function starts and/or revalidates the trial. The TrialDaysRemaining() function returns the number of days remaining in the trial. When TrialDaysRemaining() returns 0 you should disable your apps features and require them to activate. See the example project.
Note: Always call UseTrial() before calling TrialDaysRemaining().
If IsActivated() Then
mnuActDeact.Text = "Activate..."
Dim trialDaysRemain As Integer = 0
Try
UseTrial(TA_USER)
' get the number of remaining trial days
trialDaysRemain = TrialDaysRemaining()
Catch
End Try
' if no more trial days then disable all app features
If trialDaysRemain = 0 Then
DisableAppFeatures()
Else
lblTrialMessage.Text = "Your trial expires in " + Str(trialDaysRemain) + " days."
End If
Else
mnuActDeact.Text = "Deactivate"
End If
Learn more about using trials & trial extensions to win over prospective customers.
Activating your product
We recommend you use the TurboActivate.exe for entering product keys and activating your product. In the example project we show how to launch TurboActivate.exe and then check if the user is activated after it closes.
If you want to build your own interface then just use the CheckAndSavePKey(string pkey) and Activate() functions.
IsGenuine()
The IsGenuine() function connects to the LimeLM servers and reconfirms that your user's activation is valid. Using this function lets you retroactively revoke product keys. You do not need to (and should not) call IsGenuine() every time your application runs.
We recommend you call this function about every 90 days.
Also, if IsGenuine() throws an exception (particularly InternetException) it might be a result of the user blocking TurboActivate from checking with the servers. We recommend you handle this case by first warning the user that the genuine check failed, then disabling the features of your app after X failures.