Recent

Author Topic: LCL and cross development  (Read 2366 times)

sergei_gagarin

  • New Member
  • *
  • Posts: 12
LCL and cross development
« on: December 13, 2016, 10:54:50 pm »
I'm developing a GUI application both for Windows and Linux (using Lazarus 1.6.2 on both platforms). Windows version uses win32 LCL and Linux version uses gtk2. Application looks almost identically on both platforms. But there is a problem: after switching between platforms saving of any form modifies many properties of it's child controls (Height, ClientHeight, ItemHeight and so on). I'm using version control tool (svn, git) and every commit contains a lot of senseless changes. Is it possible to disable automatic update of control properties on form saving ?

Graeme

  • Hero Member
  • *****
  • Posts: 1428
    • Graeme on the web
Re: LCL and cross development
« Reply #1 on: December 15, 2016, 01:41:16 pm »
I assume the changes might be triggered by varying DPI settings or differing Lazarus versions etc.  Unfortunately you have to resolve those with your version control system and manualyl discard the changes you don't want committed.

If you want to develop GUI software that looks and behaves identical on all platforms, and doesn't have the "automatic property changing issues", it might be worth taking a look at fpGUI Toolkit for your GUI needs. It's a 100% cross-platform toolkit, totally written in Object Pascal, and talks directly to X11 and GDI (no 3rd party dependencies). It is also themable (can look different to your OS theme - corporate companies like this for branding purposes).
  http://fpgui.sourceforge.net
Here are some included themes with fpGUI, but it is very easy to develop your own too.
  http://geldenhuys.co.uk/~graemeg/themes/start.html
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

sergei_gagarin

  • New Member
  • *
  • Posts: 12
Re: LCL and cross development
« Reply #2 on: December 15, 2016, 03:18:08 pm »
I assume the changes might be triggered by varying DPI settings or differing Lazarus versions etc.  Unfortunately you have to resolve those with your version control system and manualyl discard the changes you don't want committed.

OK, thanks

 

TinyPortal © 2005-2018