For version control, I'm a real fan of ZIP and RAR rather than GIT and SVN
I've never used any sort of source-control.
Sure, that works, too. Just send me your mail in a PM and we can stay in touch.
As for the ruleset - you're free to use anything that comes entirely from Delphi's basic component set and avoid using anything that's windows specific. Hence DWORD types are LongWords etc. One gotcha is how FPC under ARM handles the Extended type - on x86 it's 10 bytes in memory, on ARM it's only 8 (the same as a DOUBLE type). This only has an effect if you save or load a floating point value in byte format to disk rather than for in-app usage.
My interpreter is written in pretty much pure object pascal with only very minimal actual Delphi code, so it's a breeze to compile for linux.
You can get the source for it here:
http://www.zxspectru...ewforum.php?f=6 which has both linux and windows builds available. Pandora PND is a way off yet
The source might be of use to you to see how the linux and delphi versions differ.
Thanks, I will have a look at it. Those rules also sound kind of my own guidelines, I use standard Delphi types wherever possible and WinAPI (or any api for that matter) calls only if it is really necessary.
I guess most of my apps should convert to Linux pretty fine then, I just never gave it a shot.
Yeah, that would be neat. Also a small section for preparing an SD card would be quite nice - I wrote some code a while ago for identifying and accessing USB drives/devices from Delphi which might be of use.
D.
Not sure what you mean by "preparing an SD card", do you mean creating the "pandora", "menu" and "desktop" folders to put the PNDs in?
If so, is that really necessary?
Also, because I just got that working, I think drag and drop is kind of tricky, cross-platform wise.
I currently use the IDataObject type, which is defined in ActiveX, which I assume is not cross-platform safe, is it?
The only other method I know of involves windows messages, which kind of have the same problem...
But I will add manual buttons anyway, and encapsulate the drag&drop functionality so worst case I just have to disable that part for Linux.