Tuesday, April 23, 2013

Delphi XE4 and Greatis' Components

All our Delphi components are compatible with any version of Delphi from Delphi 3 to Delphi XE4 without any changes.
More details: http://greatis.com/delphicb/delphi-xe4-compatibility.html

Monday, October 15, 2012

PosterIt!


PosterIt! prints a large poster on multiple small sheets of paper. Free for private use, only 19 euro (~$27) for commercial use.


http://greatis.com/utilities/posterit/

Saturday, September 15, 2012

25% off all our Delphi and C++ Builder products to all our friends in social networks



We are pleased to offer 25% off all our Delphi and C++ Builder products to all our friends in social networks. Please contact us using private messaging of the social network or by e-mail (greatis.development@gmail.com), let us know the product and type of license (single, team or site) and we'll send you special order link within 1-2 days.

Follow us and get 25% off!

Greatis Development Team's profiles           Dmitry Vasiliev's personal profiles
Facebook Facebook
Twitter Twitter
Google+ Google+
LinkedIn LinkedIn
LinkedIn Greatis Developers Group
Facebook Facebook
Twitter Twitter
Google+ Google+
LinkedIn LinkedIn





Wednesday, September 12, 2012

Wednesday, September 5, 2012

LangFlash


New free utility for everybody who has more than one keyboard language installed in the Windows.
http://greatis.com/utilities/langflash/

Saturday, August 4, 2012

Serialization and deserialization of Color type property


In my new Lang Flash utility (will be available in September) I need to store Color type property of my settings class in XML settings file.

public class Settings
{
 public Color FlashColor { get; set; }
 ...

As you possibly know, the Color type cannot be serialized correctly in XML, so I had to found some workaround for this problem. All the solutions was too deep complex and heavy, so I have created my own one. I just created another property that stores the color value as another type (string in my example) and created Color type property as pseudo property that just represents the value.

public class Settings
{
 [XmlIgnore]
 public Color FlashColor
 {
  get { return Color.FromName(FlashColorXml); }
  set { FlashColorXml = value.Name; }
 }
 public string FlashColorXml { get; set; }
 ...

It works!

Of course, you can switch these properties' functionality, and use something like this.

public class Settings
{
 [XmlIgnore]
 public Color FlashColor { get; set; }
 public string FlashColorXml 
 {
  get { FlashColor.Name; }
  set { FlashColor = Color.FromName(value); }
 }
 ...

In any case, there are two steps to resolve the problem:
  1. Disable storing original Color type property by XmlIgnore property attribute
  2. Create property for the same value with another type (int for color's ARGB or string for color's name).

Monday, May 21, 2012

PropList.pas and TPropertyInterface component are compatible with FMX


New beta-version of PropList.pas is compatible with FireMonkey now, so if you use TPropertyList class directly from your code or TPropertyInterface component, you can do the same from FMX application.

If you are registered user of Object Inspector, Runtime Fusion or Ultimate Pack, please check your mailbox for updated PropList.pas file.