Tasks after installing Thin@ 3.32:

- update the server side component with the newly distributed services (NetMon.exe, NetSrv.exe, NetListen.exe, NetPort.exe and NetSetup.exe)
- update the server side applications with your newly compiled application version
- update the server application folders with the new library file (thinn@.dll) distributed with this installation
- update \images directory on the server
- use Thin@ client version distributed with this package (you may use the internal thin@ version upgrade system to distribute the updated client version to end users)

Thin@ library is compiled and tested with these Clarion versions:
-  Clarion 6.1 (9034)
-  Clarion 6.2 (9047)
-  Clarion 6.3 (9058)
-  Clarion 7.2 (7283) – zip version of the installer
-  Clarion 7.3 (8222)
-  Clarion 8.0 (9304)
-  Clarion 9.0 (10376)
-  Clarion 9.1 (11139)
-  Clarion 10.0 (12463)

Version changes and bug fixes:
Thin@ v3.32. (October 5, 2017)

1.	FEATURE: Key modifiers will now work on mouse alerts.
2.	FEATURE: New library for PDF exports.
3.	JAVA: Listboxes are now mouse scrollable.
4.	JAVA: New skins added.
Thin@ v3.31. (December 9, 2016)

5.	FIX: NetSetup will now properly work when refreshing data on the sytem statistics tab.
6.	FIX: NetClient will now properly select a tab field when changing tabs.
Thin@ v3.3. (October 28, 2016)

1.	OPTIMIZATIONS: Further optimization in thin@ library when scanning / displaying large screens.
2.	FIX: It’s now possible to clear icons on controls.
3.	FIX: Timeout could wrongly occur on long running process on unstable networks.
4.	FIX: Fixed various lockouts on multiple threads display at same time.
5.	JAVA FIX: Java client now properly print documents under MAC OS.
6.	JAVA FIX: Frame centered wallpaper is now properly displayed.

Thin@ v3.2. (September 24, 2015)

7.	FEATURE: KEYSTATE() is now supported.
8.	FEATURE: New product compatibility. Thin@ is now compatible with GUIManager and GUIResizer templates. GUIManager created GUI with office style toolbars while GUIResizer is used to resize the windows.
9.	FEATURE: Java Client now supports “refresh on drag” option that allows screen refreshing while drag & drop is executed. (RisNet:SetOption(Feq, ‘refreshondrag=true’)).
This option is used on dragging control.
10.	FEATURE: Java Client now supports SVG controls. (RisNet:SetOption(Feq, ‘svg=<svg statement>’). This option is used on image clarion control and SVG will only be visible when application is run under the Thin@ Java Client.
11.	FEATURE:SVG controls can be forced to specific maximum width and height to allow SVG scrolling. (RisNet:SetOption(Feq, ‘maxwidth or maxheight=ammount’)

Thin@ v3.1. (September 2, 2014)

1.	FEATURE: NetManager Diagnostic window added. This window is used to diagnose all server options that thin@ requires (Login credentials, UAC, firewall, default printer, auto-login..).
2.	CHANGE: RisNet:DisplayThread function logic has been improved. It will now wait for all involving threads to finish before sending data to the client side. This makes multiple window refreshing logic more intuitive and simpler while an application runs in thin@ mode.
3.	FEATURE: RisNet:SetActiveThread implemented to force current thread while in thin@ mode. This function changes the current thread and activates the top level window of the thread.
4.	FEATURE: RisNet:SetClipbboard and RisNet:GetClipboard functions implemented. These functions are used to set and get clipboard content on the client side.
5.	FEATURE: RisNet:MouseDownX and RisNet:MouseDownY implemented. These functions are used to retrieve mouse position on EVENT:MouseDown event on a region control. Since the EVENT:MouseDown is never generated for a region control on the server side in thin@ mode, the mouse cursor position at mouse click was never obtainable in thin@ mode.
6.	FEATURE: Thin@ Java client now supports SVG controls. Create image control in the application and use RisNet:AddOption(?Feq, ‘svg=<svg xml string>’) to assign SVG XML data string to the control. Thin@ Java client will display used image as a SVG component with full java script support.

Thin@ v3.0. (November 14, 2013)

1.	FEATURE: Thin@ server is now a web server and responds to web browser requests. 
If you request a default webpage with a web browser it will open the default Java client inside a browser. 
If you use the /install tag inside a http link it will open a Java desktop application. 
If you use the /installexe tag inside a http link it will open the classic windows thin@ client.
2.	FEATURE: The first production version of the Thin@ java client with professional business skins attached.
3.	FEATURE: The classic thin@ Windows client is now rendered using the "Windows Blinds" skin engine.
4.	FEATURE: The classic thin@ Windows client now has the skin combo box selection located on the „Additional Options“ tab. There are ~30 skins included with Thin@ 3.0.
5.	FEATURE: The „Tab instead numeric enter“ feature is added to the Thin@ client under the "Additional Options" tab.
6.	CHANGE: All Scrolling actions on listboxes and combo boxes are significantly optimized.
Thin@ v2.2. (October 31, 2012)

1.	FEATURE: Thin@ now uses the QuickPDF library to export reports to PDF documents:
2.	The exporting process is now faster and output files are smaller.
3.	The new RisNet:CreatePDFFromWMF function can be used to manually create PDF files from your server-side report files.
4.	FEATURE: New window automatic scaling and resizing feature implemented:
5.	‘Window scaling’ is globally turned on and it automatically scales application windows by increasing window font size according to the desktop resolution of the Client computer.
6.	‘Window maximizing’ is turned on for each window. It resizes the window to its maximum available size without maximizing the window itself.
7.	FEATURE: Tab icons are now supported.
8.	FEATURE: Thin@ will now check if the Thin@ Client and Server-side applications have mutually compatible Thin@ Library versions. If the versions are not compatible, an alert message will be raised on the Client side.
9.	CHANGE: All ListBoxes in Thin@ NetSetup now have green bar effect and column header sorting features enabled. In addition all ListBoxes have Query and ListBox format manager option turned on.
10.	CHANGE: Temporary folder cleanup option in Thin@ NetMonitor is now turned on by default.
11.	CHANGE: The Thin@ Installer (Server Installation) now ships with the newest Thin@ Client for automatic Client upgrade.
12.	FIX: Pipe (|) signs are now supported inside ListBox data. This fix is available as a Thin@ control template option on each ListBox control.
13.	FIX: Fixed incorrect download/registration of OCX files due to different Server-Client time zones.
14.	FIX: The Installer now correctly places the Thin@-modified version of the BUILTINS.CLW file in the \ACCESSORY\LIBSRC\WIN subfolder instead in the \ACCESSORY subfolder (the BUILTINS.CLW in the \LIBSRC subfolder is automatically compared to the Thin@-version of the file during compilation, and the original file is replaced if necessary).
15.	FIX: An issue with the Calendar Date Picker in ClarionTools Query Wizard is fixed.
16.	FIX: ListBoxes in ClarionTools Query Wizard now always have the correct height.

Thin@ v2.11. (July 18, 2012)

1.	CHANGE: Auto upgrade feature is now suggested on start of the NetSetup utility.
2.	CHANGE: Because of auto-upgrade feature default Clarion8 client is now automatically shipped with the server installation.
3.	CHANGE: Thin@ application will now terminate in case when the application is started with older thin@ client.
4.	RisNet:Downloadfile(s) functions have been altered. There is a new parameter <*? ClientDirChange> that receives the client target download directory.

Thin@ v2.1. (June 08, 2012)

5.	FEATURE: New Thin@ NetManager Utility simplifies Thin@ Server administration
6.	FEATURE: Thin@ Run-As-Service (default) option in NetManager enables running Thin@ processes (NetServer, NetListener, NetMonitor, NetPort) as services.
7.	FEATURE: Session 0 utilization boosts Thin@ Server max. sessions from cca. 150 to 300 per Thin@ Server (without using MS Remote Desktop Services). Instances of the application now run both in Windows Session 0 and Session 1.
8.	FEATURE: ClarionTools Wizard templates supported (http://www.clariontools.com/)
9.	FEATURE: Noyantis CommandBars wrapper template for Codejock ActiveX supported (http://www.noyantis.com/clarion/codejock/commandBars.html)
10.	FEATURE: Noyantis ShortcutBar wrapper template for Codejock ActiveX supported (http://www.noyantis.com/clarion/codejock/shortcutBar.html)
11.	FEATURE: Noyantis ChartPro wrapper template for Codejock ActiveX supported (http://www.noyantis.com/clarion/codejock/chartPro.html)
12.	FEATURE: Thin@ Addin for C7&C8 IDE created (quickly test the your app in Thin@-mode)
13.	FEATURE: RisNet:SendMail function implemented to send emails from your app using your default mail client
14.	FEATURE: RisNet:ShellExecute wrapper function for the ShellExecute Windows API function implemented; used to run/open any file with the corresponding application
15.	FEATURE: It is now possible to change the MDI Tab Bar style or remove it completely using a Thin@ window template extension option.
16.	FEATURE: Functions used to easily move Clarion GROUPs and QUEUEs between client and server created:
a.	RisNet:GroupToXML takes a Clarion GROUP structure and returns an XML string structure
b.	RisNet:XMLToGroup takes a properly formated STRING structure(created with RisNet:GroupToXML) and puts it in a Clarion GROUP
c.	RisNet:QueueToXML takes a Clarion QUEUE structure and returns an XML string structure
d.	RisNet:XMLToQueue takes a properly formated STRING structure(created with RisNet: QueueToXML) and puts it in a Clarion QUEUE
17.	FEATURE: The use of Standalone(DLL) Run-Time library is enforced. During code generation the Thin@ template will issue and error message if Local Run-Time library is used.
18.	FEATURE: ThinN@.dll file version is compared with Thin@ template version during program execution. If the versions are not equal an error message is issued.
19.	FEATURE: Use of the Thin@ version of the BUILTINS.CLW file is enforced. During code generation the Thin@ template will issue and error message if the default BUILTINS.CLW file is used.
20.	FEATURE: ThinNetMgr.ClientStartPath method implemented, used to change the default PATH in which Thin@ Client starts
21.	FEATURE: RisNet:Exists added, used to check if a file exists on the client side
22.	FEATURE: KEYCHAR() Clarion function is now supported
23.	FEATURE: RisNet:SetTopWindow function implemented, used to bring any window to the foreground
24.	FEATURE: RisNet:ShowWindow wrapper function for the ShowWindow Windows API function implemented
25.	FEATURE: EQUATES for the Downloadfile function created to be used with the <Sign> parameter. The possible values are: RisNet:FileDialog, RisNet:NoDirCreate, RisNet:DirCreate, RisNet:AskDirCreate). 
26.	FEATURE: RisNet:AddFileToDownloadList function added. You can use this function to download additonal files to the client without additional client-server network exchange, making it faster to download large number of files. The drawback of this method compared to using the DownloadFile method is that it requires a running window and does not compress the files before downloading(making it specifically useful for downloading already compressed image files).
27.	FEATURE: In NetSetup utility under license options you can assign simultanous instances per user and per workstation. This feature is best used when you want to use the same thin@ username which is then shared for multiple thin@ users. With this feature you can configure how many application instances each user can start and how many total instances can be started.
28.	OCX support improved:
a.	FEATURE: RisNet:OCXBind function created used to bind variables for OCX expressions
b.	FEATURE: RisNet:OCXAddSkipEvent function implemented used to ignore specific OCX events
c.	CHANGE: RisNet:GetOCXProperty can now return a prepared binded value (does not initiate client-server exchange) that will be replaced on the client side with the actual value on all later OCX statements
29.	CHANGE: RisNet:DownloadFile will now return an error code value instead of download path. 
30.	CHANGE: The template now populates the Clarion ship list with filenames required by Thin@.
31.	FIX: Sheet Style can now be properly changed through Thin@ procedure/global extension template

Thin@ v2.00.(September 17, 2011)

1.	FIX: Fixed bug when using drag & drop feature together with Column header sorting.
2.	FIX: Listbox columns can now start with # sign.
3.	FIX: Option boxes without USE variable are now supported.
4.	FIX: Radio buttons without properly assigned true and false values are now supported.
5.	FEATURE: PROP:Pixels is now supported.
6.	FEATURE: NetSetup – Windows Station Optimization added. This feature enables Thin@ server to start Thin@ Sessions inside separate WindowsStations on the server side. This option will increases performance of your Thin@ server and its required to have NetStarter.exe (new Thin@ process) copied in all of your Thin@ server folders.
7.	FEATURE: NetSetup – window Session Optimization added. This feature enabled Thin@ server to start Sessions inside MS Remote Desktop Services (former MS Terminal Services) sessions (or Windows user sessions on configurations that don't have TS installed). This feature will highly increase performance of the Thin@ server and enable high amount of users loaded on a single Thin@ server (500-1000+ concurrent users depending of server hardware configuration). Thin@ server will balance users accros all available windows sessions (tests show that 10 sessions are enough to run 1000 concurrent users). This option requires both PSEXEC.exe and NetStarter.exe files to be copied to your Thin@ server folders.
8.	FEATURE: NetSetup – additional windows session added. This feature enables Thin@ sever to initialy start requested number of TS session on the server side. After the sessions are prepared Thin@ will automatically balance Thin@ application accross created TS sessions. This feature requires LaunchRDP.exe file to be copied in your Thin@ server folder.
v1.52 (July 8, 2011)

1.	FIX: Fixed bug when reading ThinNetMgr.Stats fields.
2.	FIX: The NetClient auto-update feature did not work properly when upgrading to NetClient compiled with Clarion version 7.3 and 8.
3.	FIX: Added Empty.dct, .cwproj and .sln files to the NetClient 7 and NetClient 8 folders shipped with Thin@. Before this fix an empty.dct file had to be manually added, and the TOPSPEED driver had to be manually registered.

Thin@ Client source code changes (version 1.52):
Changed DownloadNewClient procedure inside NetClientWindow due to bug fix.

Thin@ Client source code changes (version 1.51):
Procedure: NetClientWindow(Source) block at line 397 changed.

Client source code changes (version 1.5):
Procedure: NetClient (Source) Line 101 changed (ThinNetMgr.Stats.Password ,ThinNetMgr.Stats.ClientResolution,ClientType and ClientOSVersion support.)

Thin@ v1.51 (June 14, 2011)

1. FEATURE: Clarion 8 (8421) is now supported.
2. FEATURE: Listbox controls header coloring (use functions RisNet:SetDefaultListboxHeaderColors, RisNet:SetListboxHeaderColors or supplied template options on each listbox control action property or on the Thin@ global extension).
3. FEATURE: Sheet controls Clarion7-style supported. (Use functions RisNet:SetDefaultTabStyle, RisNet:SetTabStyle or supplied template options on each sheet control action property or on the Thin@ global extension).
4. FEATURE: It's possible to run another Thin@ application from embed code of an already started Thin@ application (use function RisNet:RunThinetApplication). 
5. FEATURE: You can now start a Thin@ client with command line parameter Application=SomeApplicationName. This allows creation of a desktop shortcut that will immediately run a specific Thin@ application with preconfigured client settings and avoid displaying the Thin@ Client startup screen.

Thin@ Installer major modifications:

6. CHANGE: Thin@ installation folders have changed for Clarion 7 and Clarion 8. Now Thin@ properly installs its binaries, source files, template file etc. under the Clarion \Accesory folder.
7. CHANGE: If the installer detects an older Thin@ installation (prior to 1.51), it will first uninstall Thin@ before performing the installation. 
8. CHANGE: Thin@ server installs to C:\Thin@ instead of C:\ThiNet (except if the server is already installed)
9. CHANGE: 'Windows heap size limitation' dialog window removed.
10. FEATURE: Install Destination for the Thin@ Client can now be changed. Default location is the Program Files folder.
11. FEATURE: Install Destination for the Thin@ Documentation can now be changed. Default location is the Shared Documents folder.
12. FEATURE: Shortcuts to the Thin@ Documentation folder are created in the Clarion documents folder and in the 'My Documents' folder.
13. CHANGE: Clarion 6.3 open-source (Developer) Client transfered from the Client root folder to the appropriately named folder e.g. from 3rdParty\ThiNet\Client\ to 3rdParty\Thin@\Client\Clarion6.3

Thin@ Client source code changes (version 1.51):
Procedure: NetClientWindow(Source) block at line 397 changed.

Client source code changes (version 1.5):
Procedure: NetClient (Source) Line 101 changed (ThinNetMgr.Stats.Password ,ThinNetMgr.Stats.ClientResolution,ClientType and ClientOSVersion support.)
Thin@ v1.5 (May 01, 2011)

1. CHANGE: Clarion 6.3 open-source (Developer) Client transfered from the Client root folder to the appropriately named folder e.g. from 3rdParty\ThiNet\Client\ to 3rdParty\Thin@\Client\Clarion6.3
2. FEATURE: Clarion 7.3 (8222) is now supported.
3. FEATURE: Drag&Drop is now supported.
4. FEATURE: OLE / ActiveX components are now supported:
-	ThinNETMgr.AddOCXControl (*Window WindowHandle, LONG Feq, STRING CreateStatement) – function added. This function adds OLE control to thin@ scan routine. In addition, the function can immediately execute PROP:Create statement using CreateStatement parameter.
-	RisNet:SetOCXProperty (LONG Feq,STRING Expression,STRING SetValue,<*WINDOW WindowHande>) function added.  This function sets the property on a client side OLE control.
-  RisNet:GetOCXProperty PROCEDURE(LONG Feq,STRING Property,<*WINDOW WindowHande>) function added. This function returns the property for a client side OLE control.
Both functions can be used to change property of an OLE object or to assign attrbiutes like PROP:DoVerb. Example: RisNet:SetOCXPRoperty(?OleObjectFeq, PROP:DoVerb, 0).
-	RisNet:OCXRegister ROCEDURE(STRING FileName,BYTE ForceRegistration = 0),BYTE function added. This function will register an OCX file on the client side. If OCX file is not existsent on the client side or file is chanhed the file will be downloaded to client side and then registered. The function will try to find OCX file on the server in this order:
a)	application folder
b)	\resource subfolder
c)	\images subfolder
d)	all other folder added with ThinNetMgr.AddImageFolder() function.
    If Thin@ mode is not active the OCX file will be registered on your current system.
-	RisNet:OCXGetLastEventName PROCEDURE(SHORT Reference),STRING function added. This functions replaces standard clarion ?Feq{PROP:LastEventName} function. Note that this function is using callback function reference parameter instead control Feq parameter.
-	RisNet:OCXGetParamCount PROCEDURE(SHORT Reference),STRING function added. This function replaces clarion OCXGetParamCount() function.
-	RisNet:OCXGetParam PROCEDURE(SHORT Reference,LONG Count),STRING function added. This function replaces clarion OCXGetParam() function.
      -     RisNet:OCXRegisterEventProc PROCEDURE(LONG Feq,LONG EventProcAddress) function added. This function replaces Clarion OCXRegisterEventFunc() function.
5. FEATURE: ThinNETMgr.Display(Window WindowHandle) function has been added. This function allows forced immediate window refresh in thin@ mode.
6. FEATURE: Svgraph template is now supported.
7. FEATURE: ASCII viewer template is now supported.
8. FEATURE: Immediate spin and entry controls are now supported.
9. FEATURE: Implemented new buffered client side events (increased speed when stacking events in operations like listbox scrolling).
10. FEATURE: Tab orientation is now fully supported.
11. FEATURE: ThinNETMgr.AddImageFolder(STRING ImagePath,BYTE OnTop=0) function added. This function is used to instruct thin@ library of additional server side resource images and icons folder. OnTop variable is used to add a folder to the top of the scaning queue.
12. FEATURE: ThinNETMgr.AddImageLibrary(STRING ImageLibrary,<STRING ImageLibrarySubdirectory>,<STRING ImageLibraryPassword>) function added.
This function is used to add a 7zip compressed resource file (images,icons) to the server side image scanning queue. This compressed file will be uncompressed and matched with client side images and icons. If ImageLibrarySubdirectory is set the thin@ library will add subdirectories to the compare algorithm. This allows the process to be able to download and compare different images and icons with the same name.
13. FEATURE: NetPort service has now 2 additional command line parameters: NetListener and NetListenerPort. Using these paremeters it’s possible to start multiple instances of the NetPort service connected to different NetListen addresses.
14. CHANGE: ThinNETMgr.OpenWindow() and ThinNETMgr.CloseWindow() functions has been redesigned to allow closing a window in thin@ mode without the requirement to enter ACCEPT loop cycle.
15. FEATURE: In addition to ThinNetMgr.Stats.Username you can now read client side Thin@ password from ThinNetMgr.Stats.Password.
16. FEATURE: Thread engine improved:
- It's now possible to start multiple threaded windows at one
- It’s now possible to start a threaded window on window closing process
- It’s now possible to start a threaded window on a timer event from currently unfocused window
17. FEATURE: Thin@ will now correctly inform application user if 7z.exe is unavailable on the system when compressing / decompressing files.
18. CHANGE: Window resizing and window maximizing logic has been redesigned. The application UI will now maximize only on the client side while application UI on the server side will be resized acording to client side resolution.
	To allow programmers to maximize / restore windows in their embedded code 2 new functions are added: 
RisNet:GetWindowMaxState PROCEDURE(*WINDOW WindowHandle),BYTE 
RisNet:SetWindowMaxState PROCEDURE(*WINDOW WindowHandle, BYTE MaxState)
19.CHANGE: NetSetup utility can now be properly resized and maximized.
20.CHANGE: RisApi.inc api calls have proper Ris prefix now.
21. FEATURE: Global extension and procedure extension template have been redesigned. Now it's possible to ignore a control in thin@ mode and synhronization options are displayed acording to control type.
22. FEATURE: Thin@ Client will now send additional parameters to the server side application and those parameters can be viewed in NetSetup user list and Log list. 
	These parameters can be read at runtime in your application using:
	ThinNetMgr.Stats.ClientType (possible values: WinClient6, WinClient7, WinClient8).
	ThinNetMgr.Stats.ClientResolution (ex: 1920x1080)
	ThinNetMgr.Stats.ClientOSVersion (ex: Win7)
23. FEATURE: RisNet:ForwardKey PROCEDURE(LONG Feq, UNSIGNED pKeyCode, LONG SelStart=0) function added. You can use this function to send key to a control using forwardkey function call or/and to assign prop:selstart value on a control.

Client source code changes:

Procedure: NetClient (Source) Line 101 changed (ThinNetMgr.Stats.Password ,ThinNetMgr.Stats.ClientResolution,ClientType and ClientOSVersion support.)

Thin@ v1.42 (December 01, 2010)

1.	FEATURE: CPCS Reports template support
2.	FEATURE: CPCS client side report print preview supported (you need to add CPCS template support to the client global template extensions list and uncomment required code in the global print preview embed code to activate CPCS client side previewer)
3.	FEATURE: NetTalk FTP client window properly supported
4.	FIX: Fixed various stability issues with the thin@ client version 7
5.	FIX: Fixed stability issues in all client versions regarding simultaneous window opening
6.	FEATURE: RTF controls alert keys are now properly supported
7.	FIX: NetPort service now fully supports alternate external address feature
8.	FIX: Fixed the issues with RisNet:DownloadFile() function
 9. FEATURE: New Thin@ External class added for supporting external 3rd party dlls (the external dlls can be compiled and fully functional with thin@ library. The application will run without thin@ even if the thin@.dll is not installed on the system)
 10.	FEATURE: NetSetup will automatically add “” signs in the application path expression if long path format(spaces) is used
 11.	FEATURE: Netsetup wizards has been altered with additional infoformation on each installation option
12.	CHANGE: RisNet:ShowProgressDialog() function will now automatically close the progress dialog and there is no need to specifically instruct thin@ with RisNet:ShowProgressDialog(max,max) statement.
13.	CHANGE: Message(),FileDialog(),ColorDialog(),Fontdialog(),RisNet:ShowProgressDialog() functions can now be called before window is actually opened
14.	Documentation changes: 
-	Thin@ProgrammersGuide now contains detailed thin@ class description
-	Thin@Installationinstructions has been upgraded with detailed implementation    instructions
Thin@ v1.41  (October 27, 2010)

1.	Documentation updated
2.	Fixed NetListen periodical shutdown problem (discovered in version 1.4)
Thin@ v1.4  (October 15, 2010)

1.	RTF controls are now fully supported (including RTF status bar and RTF control panel)
(Make sure that RTF controls USE field property is a valid data variable)
2.	PROP:SelStart and PROP:SelEnd are now supported for TEXT and RTF controls
3.	Integrated Clarion Calendar class is now fully supported
4.	Additional client side embeds added:
a.	AfterCreatingWindow – called each time the window is opened
b.	BeforePaintingControl((LONG Feq,BYTE Created=0,BYTE Last=0) – called before each control paint process. If derived function returns 0 the library will skip the paint process for that control.
c.	AfterPaintingControl(LONG Feq,BYTE Created=0,BYTE Last=0)
d.	TakeClientEvent (*Window WindowHandle) – called for each event generated inside ACCEPT loop.
If derived function returns 0 the library will skip sending the event to 
the server side.
5.	New function ThinNetMgr. GetControlOption(LONG Feq,STRING pOption),STRING added. This function returns the thin@ library state of the control {prop} values.
6.	Fomin reports are now supported.
7.	HALT() is now supported.
8.	NetSetup External IP address server parameter can now be configured with alternate paths using client ip address range as condition.
9.	Timer events will now properly trigger even if the window is not focused. There is optional window extension parameter that is forcing timer event execution even if user is not performing any action and timer window is not focused.
10.	Timer event is now treated as non user event and will not increase user active server time.
11.	New function added ThinNetMgr.DisplayThread(LONG ThreadNo=0). This function will force window refresh for specific / all threads for current execution loop. The windows will refresh even if not focused.
12.	New function added ThinNetMgr.DisplayControlImage(LONG Feq). This function will force redraw of the control image if  the image changed but the image filename is unchanged.
13.	CapeSoft Insight (Graphs) is now fully supported.
14.	NetSetup icons (positioned in the thinet\images folder) are renamed so they don’t interfere with possible application icons with the same name. 
15.	NetSetup Log tab is redesigned. It now consists of a series of graphs and reports showing server statistical data.
Thin@ v1.31  (April 29, 2010)

1.	Corrected installation problems with Clarion 7.1
2.	Corrected several display bugs with COMBO controls
Thin@ v1.3  (March 25, 2010)

1.	New NetPort service added (A multithreaded socket service that allows tunneling thin@ server trough a single port. It is possible to start multiple instances of this service with NetPort=xxx command line parameter.)
2.	New ThinNetMgr.Start() function added. This function is automatically generated on program setup embed of your .exe application component. Now it's possible to use all thin@ library calls (message boxes, dialogs, uploads and downloads) or access thin@ data classes (ThinNetMgr.Stats) even before first window is open.
3.	Prop:key is now supported
4.	Popup icons are now fully supported
5.	Network transfer optimizations (up to 6 times more speed in data exchange and file downloads/uploads)
6.	Window screen drawing and scanning optimizations(up to 3 times more speed when operating with large windows)
7.	CapeSoft GPF reporter template is now supported (when in thin@ mode the application will quietly close and generate crash log)
8.	ASSERT() functions are now properly disabled when application is in thin@ mode
9.	For servers with more then 4Gb of RAM total and free memory is now properly displayed in the netsetup utility 
10.	Documentation updated
Thin@ v1.24  (January 11, 2010)

1. Clarion 7.1 is now fully supported ( for Clarion7.0 thin@ files check .zip version of the installer http://www.thinetsolution.com/ThiNet-v1.24.zip)
2. Command line scripts has been added to the setup dialog in the NetMonitor service (The default script allows starting / terminating thin@ services (NetServer and NetListen) if they become unexpectedly unavailable)

Thin@ v1.23  (December 11, 2009)

1.	Client side progress dialog function implemented:
-RisNet:ShowProgressDialog(pDone,pTotal,pCancel=0,<pTitle>,<pFormatExpression>)
-	function returns true value if pCancel parameter is set to true and user cancels dialog trough a cancel button
-	All file downloads and file uploads that last longer then 3 seconds will trigger progress dialog initialization
2.	Prop:maxwidth and prop:maxheight attributes supported (allowing scrollable images)
3.	PressKey() and Press() function is now fully supported (Press() function is not supported for Clarion version 6.2 and 6.1 because there is no procedure definition in builtins.clw file. Legacy templates for Clarion version 6.1 and 6.2 will still have problems with entry locators (entry locator template code uses Press() function). Clarion versions 6.3 and 7.0 will work properly in above mentioned conditions.)
4.	“Use ENTER keys instead of TAB” template feature is now fully supported 
5.	Supported prop:join and prop:spread sheet’s parameters
6.	Spin controls up and down arrows now properly generate event:newselection event
7.	Added functions Risnet:GetClientPath() AND RisNet:SetClientPath(STRING)
8.	Skip print preview report option is now working properly with Legacy templates
Thin@ v1.22  (July 30, 2009)

1.	Various bug fixes.
Thin@ v1.21  (July 24, 2009)

1.	Legacy templates fully supported
2.	Listbox column header sort supported
3.	Listbox query by example template (button) supported
4.	Listbox format manager template supported
5.	Listbox vertical scroll and scroll drag improved
6.	Listbox autosize column supported
7.	Menu colors, styles and fonts supported
8.	Prop:Angle supported
9.	Client side procedure implemented (ThinNetMgr.ExecuteClientSource(Var1..Var7))
10.	Window resizing supported
11.	%Username and %Password variables can be send to starting server application trough run statement in netsetup utility. (someapp.exe Username=%Username Password=%Password)
12.	Various session variables available in server side application:
ThinNetMgr. AppName   – server side application name
ThinNetMgr. UserName – thin@ username
ThinNetMgr. ClientIpAddress – internal network ip address of running client
ThinNetMgr. ClientWebAddress – external network ip address of running client
ThinNetMgr. ClientSerial– unique client id (hardware bound and always equal for specific client)
ThinNetMgr. LastRefreshDate – date of last client action 
ThinNetMgr. LastRefreshTime – time of last client action 
ThinNetMgr. StartDate – date of application start
ThinNetMgr. StartTime – time of application start
ThinNetMgr. LongRunning – application long running job status (reports)
ThinNetMgr. ActiveTime – application active time (20 seconds interval)
22.	Various speed improvements and bug fixes
Thin@ v1.11 (April 29, 2009)

1.	Some installation process bugs resolved

Thin@ v1.1

1.	FEATURE: Thin@ Client for Clarion 7.0 available!
You can use it to breathe a new life into your old-fashioned Clarion applications and transform them into brand new Clarion 7 applications. You can use any combination between server-client application versions, for example you can use Clarion 6 server side application and Clarion 7.0 client program. This way you can boost your application looks with Clarion 7.0 controls, new sheets and tabs, menu design and MDI toolbar without the need to actually convert your existing application to Clarion 7.0.

2.	CHANGE: Changes to clarion system files redesigned
All changes to the Clarion library files are now redesigned to be template class derivation changes. The only remaining file change (abwindow.tpw) is optional in the installation process.

3.	FEATURE: Time usage fee support (Saas model) & User activity log

-	Time usage fee model support implemented (user logging and price calculation for user activity)
-	User logs preview supported in NetSetup utility
-	User / company model implemented with price fee calculated from month / date range activity logs.
-	Activity is calculated using  this formula :
activity time per user = session time – inactive time – report preview time – long process   jobs

4.	FEATURE: Clarion 7.0, Clarion 6.3, Clarion 6.2 and Clarion 6.1 support
Clarion versions 7.0, 6.3, 6.2 and 6.1 are now supported.

5.	FEATURE: Faster installation & implementation procedure
Thin@ implementation time reduced to a few minutes due to improvements of the NetSetup Wizard automatic post-installation procedure

6.	Other
- PROP:Touched support implemented
- PROP:Timer function supported (timer window need to be focused)
- Splash screen support implemented
- Convert1.02_1.03.exe distributed with package to convert active 1.02 server databases to 1.03 server database file (Dbase.tps)

FIX: Various freeze bugs happening during close of main thread while several other threads were active

Thin@ v1.02 

1.	FEATURE: Edit-in-place support
2.	CHANGE: Print preview skip on reports
3.	FEATURE: Printerdialog function support implemented (std:printsetup still not supported
4.	FEATURE: ThinNETMgr.ClientPrinter variable added showing client side printer device name
5.	FEATURE: ThinNETMgr.SetClientPrinter(PrinterName) function added to dynamically change client side printer. Function is client side equivalent for PRINTER{PROPPRINT:Device} function.
6.	FIX: Netsetup utility bug fixes 
7.	FIX: Capitalized username / password issues in netclient solved
8.	FEATURE: NetClient speed improvements with event handler revamp