Thursday, 12 February 2009

A Lazarus Question

Eventually, I'd like to make kharne multi-platform. Whilst I wouldn't consider myself a Linux fetishist to any great extent (I only have Windows XP machines at home, by choice), I do think that by-and-large multi-platform compability is overall a Good Thing (tm). I've been browsing the website of The Lazarus Project, the multi-platform alternative to Delphi, and pondering what it would take to swap over development to said toolkit.

But it appears that at the moment, Lazarus isn't in a state that will allow me to do so. According to the Lazarus for Delphi Users wiki, support for dragging-and-dropping is either non-existant or extremely cripped. I'm somewhat surprised at this, since dragging and dropping is a fundamental part of a windowing interface. But the relevant part of the wiki that states this hasn't been updated since December 2007. Does anyone know if drag-and-drop is still a problem in Lazarus?

If it is, and since the primary Inventory functionality in Kharne is drag-and-drop based (and will stay that way), until such time as drag-and-drop is fully implemented in Lazarus, there will be no Lazarus port and Kharne will remain Windows only.

Which is disappointing. Deeply disappointing.


Mario Donick said...

Have a look at this:,4024.0.html

Thus, I think, drag and drop should be possible.

Mario Donick said...

(by the way, despite the name of the guy in the forum, its not me ...)

Mario Donick said...

Sorry for spamming, but I looked in the wiki you mention. It says:

"eg. dragging a control from one panel, and docking it onto another panel at run time."

I think this does not talk about drag'n'drop at all. It talks about dragging CONTROLS from one panel onto another. I understand this as dragging and dropping of e.g. toolbars or sidebars docked in a window etc.

Dave said...

Mario, hmmmm. Maybe I have misunderstood? Item drag-and-drop in Kharne is effectively dragging a TPanel onto another TPanel. The control isn't physically moved or anything though.

Mario Donick said...

Lazarus contains an example in which you drag a button onto a panel. This works perfectly. It's in the examples folder, named "dragimagelist".

Dave said...

Cheers Mario, I'll take a new look at Lazarus then!