Raudus 0.9.9 Released

Posted on

Raudus 0.9.9 is released.

Download page

1) Support of Delphi XE7.
2) Support of Lazarus 1.2.6 and others.
3) SSL API improvements.
4) Minor stability improvements.

Consider to apply a patch for Lazarus again (see previous post).


Raudus 0.9.8 Released

Posted on

Raudus 0.9.8 is released.

Download page

1) Support of Delphi XE6.
2) Support of Lazarus 1.2.4 and others.
3) Minor performance improvements.

Patch for Lazarus

In Lazarus 1.2 so called “Mediators” were introduced.
Mediators allow one to create own designer for custom controlset.
But mediators broke the way Raudus was integrated in Lazarus.
I made an effort to go mediators-way, but it seems to be
a major update and i plan it for 0.10 now.

As a temporary hack you are adviced to apply a patch to your Lazarus
in file sourcefilemanager.pas in procedure TryRegisteredClasses.

  if FoundComponentClass<>nil then begin
    DebugLn(['TLazSourceFileManager.FindComponentClass.TryRegisteredClasses found: ',FoundComponentClass.ClassName]);
{+} if FoundComponentClass.ClassName='TRaFormCompatible' then FoundComponentClass:=TForm;

The post about future plans and 0.10.x branch will be published later.


Raudus 0.9.7 Released

Posted on

Raudus 0.9.7 is released.

Download page

1) Formely Raudus application required mongoose32.dll. Now mongoose web server (it’s last MIT-based snapshot) is ported to Pascal and contained inside Raudus runtime. Now you only need “rfe.js” to deploy your standalone app. But if you need to compress your traffic, you must use zlib1.dll. Also, if you need to serve SSL (https), you must use SSL libraries. All these dll’s are in “requisite” directory. Refer to example “40-Timers-SSL”.
2) Default port is 8080 instead of 88.
3) Fixed scaling issue in Mobile Chrome and Firefox.
3) Bugfixes. Thanks to Francesco and Dario.
4) Support of Delphi XE5.
5) Support of Lazarus 1.0.14 and others. These are Lazarus installers, that are guaranteed to be compatible with Raudus (hosted at Raudus server for your convenience):
6) Known issue: In TRaDBGrid.OnClickTitle event handler you may probably need to cast: (Column as TRaDBGridColumn).FieldName


UPD: In Delphi XE5 you may probably need to add “VCL” to “scopes list” in Project Options.

Tiny hotfix for 0.9.6

Posted on

A small bug was found in TRxJqDatePicker and TRxJqCalculator. Here are the fixed files. Thanks to Maurizio for quick bugreport!

Raudus 0.9.6 Released

Posted on

Raudus 0.9.6 is released.

Download page

1) New component: TRaFrameHolder. You can use standard TFrame component. TFrame and TRaFrameHolder work in pair. TRaFrameHolder is parent, TFrame is the only child. Look at example 16.
2) New component: TRaCheckBox.
3) New component: TRxPublisherView. You can display contents of publishers. Suitable for browser-in-browser.
4) New component: TRxJqCalculator, taken from here. Look at example 94.
5) TRaUploader now works in Android (minimal version 4.0 is required). You can upload a file from device filesystem. You can also make photo or record speech, and then upload.
6) TRxGeolocation improved. Thanks to Joaquin!
7) TRxJqDatePicker improved. Thanks to Zdravko!
8) Design-time stability improved.
9) Browser-side performance improved (for complex UIs / slow machines / Internet Explorer).
10) Lazarus. Removed annoying message “Ignore, use TForm as ancestor”.
11) Lazarus. Added binaries for Lazarus 1.1 / FPC 2.7.1 (PPU 161 and PPU 162).

Thank you for attention to Raudus!

Raudus 0.9.5 Released

Posted on

Raudus 0.9.5 is released.

1) New examples (40, 41, 42, 43) show how to use SSL, how to wrap Raudus app in desktop app, and how to run as a Windows service.
2) New events: TRaTabControl.OnChange, TRaTabSheet.OnShow and OnHide.
3) New component: TRaUploader. You can upload a file from local drive to server, and handle TMemoryStream at server-side (parse, save to file, save to LOB/BLOB). Uploading does not block UI. Users can continue work, while uploading is performed “in background”. Has OnProgress event. Does not work with IE<9. See example 15 in Raudus directory and online upload example.
4) jQuery-based datepicker. See example 93. Compile RaudusX package to use datepicker in your projects.
5) Delphi XE4 is supported.
6) FPC 2.7.1 (PPU 158, CodeTyphon) is supported.

If you have urgent questions, just email me at igor@klopov.com . Thank you!

Raudus 0.9.4 Released

Posted on

Raudus 0.9.4 is released.

1) Usual Delphi menu is not enough versatile. Hence, TRaOverlay is introduced. At design time it is a usual panel. At runtime it is shown over everything. TRaOverlay coordinates are absolute coordinates on the page. TRaOverlay can be used as menu, popup, hint, etc. You can place any control onto TRaOverlay, so create rich menus. Check out new Mobile and Employee examples.
2) TRaOverlay is mobile capable. Open Mobile and Employee examples using smartphone or tablet PC.
3) TRaButton. New properties “Align” and “Stick”. New UI “simple”. Set Button UI to “simple” to make it look like menu item.
4) TRaApplication.Application.EventPoint and EventRectangle contain coordinates of last click event. It may be used when setting TRaOverlay.Left and Top.
5) TRaDBGrid has clickable column titles. They can be used with TRaOverlay to create a submenu with “sort column”.
6) TRaTabControl. Appearance improved. Now TabSheet.Title is an object with “Caption” and “Width”.
7) Android 4.0+ scrolling is native now. It is more smooth.
8) Client-side (a.k.a. rfe.js) was rewritten. Now it is more stable and reveals opportunity of more complex components.
9) There was a problem when installing Raudus for Lazarus (“wrong checksum”). It is solved now. New utility “welding” is introduced. It patches Raudus binaries (PPU files) to make them compatible with Lazarus binaries. Hence, current Raudus release is compatible with all current and future releases of Lazarus, based on FPC 2.6.2. Read updated manual.

Thank you for your attention and patience.

Raudus 0.9.3 Released

Posted on

Raudus 0.9.3 is released.

Download Raudus 0.9.3

1) New RaVCL control: TRaTabControl. It does not yet react to clicking on a tab at design time. So, please right-click and use menu.

2) “RaApplication.Application.OwningComponent” is a “synthetic” component, that owns all forms, created via “RaApplication.Application.CreateForm”.

You can create forms like: SomeForm.ChildForm := TChildForm.Create(RaApplication.Application.OwningComponent).

You can also enumerate subcomponents (forms and datamodules) of OwningComponent. Subcomponents are freed when session is freed (using “RaApplication.Application.DestroyContext” or after “RaApplication.Application.Timeout” hits or on “RaApplication.Application.Terminate”).

You can create forms like: SomeForm.ChildForm := TChildForm.Create(SomethingElse). So you manage freeing of such forms manually, but they still reside in browser.

In short, Raudus mimics Delphi VCL behaviour considering multisession environment. See example “19-FormOwner”.

3) Bugfixes.

4) Compatible with Delphi XE3 and Lazarus 1.0.4.

Raudus 0.9.2 Released

Posted on

Raudus 0.9.2 is released.

Download Raudus 0.9.2

1) New RaVCL control: TRaScrollBox. Look at online example (scrollbox is especially useful in mobile apps for scrolling long forms of input controls).

2) New RaVCL control: TRaDBGrid. It has reduced functionality yet – cells are not editable, columns are not resizable. But rich UI for the grid is planned. Look at online example Employee. The grid is mobile-capable. You can pan (scroll) the grid in all directions. Open the example using tablet PC browser.

Thank you for your feedback! Stay tuned!

Raudus 0.9.1 and 0.8.10 Released

Posted on

Raudus 0.9.1 is released.

Minor improvements and bugfixes. Examples of custom controls added.
After installing Raudus, please compile RaudusX.dpk (RaudusX.lpk) from
examples folder. It is a package, that contains additional custom controls.
TRxTheme is among them. Using TRxTheme you may easily setup UI
property for all controls at a time. Look at examples how to use it.

Raudus 0.8.10 is released.



In near plans are to release DBGrid and to create a forum here. And also to write a guide into creating custom controls.

Thank you!