Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-other / 2010-11

Re: Interface scope incompatibility with Delphi

8 messages · 4 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Henry Vermaak
Henry Vermaak wrote 33 lines
On 11/11/10 10:36, Graeme Geldenhuys wrote: > > Op 2010-11-11 01:21, Henry Vermaak het geskryf: >> >> Why didn't they just set a bounty or pay a compiler dev to fix it? > > Because that is still no guarantee that it will be implemented in a timely > fashion. Our company tried that route before without success. We set a > $500 > bounty, it was accepted very quickly, but 1.5 years later still hardly > anything was done, and there was no signs of it ever getting done, so we > retracted our bounty and moved on to a different solution. Companies > cannot Don't think that because you buy a Delphi licence they will fix the bugs you find.  And as a new release comes out, you have to upgrade or live with existing bugs.  And if the company goes down, all is lost, no source for someone else to pick up and continue.  At least with fpc you can jump in and fix it yourself, or even hire a compiler developer on contract to do the work inside an agreed time scale.  Bounties are a bit too informal for this. > sit around and twiddle their thumbs for people that only think of > something > as a "hobby", and treat it as such. We run a business that need to pay > bills and salaries. Ho hum.  So does everyone else in this world.  And also like everyone else you need to weigh up what's most important to you.  It's seems like all you want to do is jump up and down and point fingers, which you can't do in this case, because you didn't pay for anything. Henry

Reply by email

Graeme Geldenhuys

Op 2010-11-11 13:05, Thaddy het geskryf:

Graeme should realize that the Delphi compilers (or MS compilers or Watson, or Intel) can all drive you nuts with behaveour beyond the documentation or beyond logic.

Sorry, but I disagree. I had a lot lets gray hairs using Delphi 7 (maybe even Kylix 3) than I do with FPC.

At least with FPC, you can do something about it, like with the GNU compiler set.

That is not a certainty! Say I had the expertise, and I did manage to fix my current problem so that it behaves like Delphi, it will NOT be accepted in the offical FPC source tree. So what good is it that I got my hands dirty and fixed the problem? Yes it's fixed on my system, but not any anybody elses, so it's useless for the tools and frameworks I develop. Unfortunately I seem to have bad luck, all my problems are normally something that will not be fixed in FPC (for whatever reasons).

Op 2010-11-11 14:58, Henry Vermaak het geskryf:

someone else to pick up and continue. At least with fpc you can jump in and fix it yourself, or even hire a compiler developer on contract to do the work inside an agreed time scale.

Still wouldn't work in my case, see above.

So hiring a skilled compiler developer or putting out a bounty will not solve my problems. So there goes my ideas of using FPC to develop two commercial developer tools: a cross platform installer and an alternative debugger toolset. Unlike Delphi, I can't ship FPC compiled .ppu units that other developers can simply use. So I need to supply source code, which in turn needs to be compiled by the official FPC compiler (not my personal hacked version). Now you might understand my frustrations with FPC, it's killing my business ventures.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net:8080/fpgui/

Reply by email

Henry Vermaak
to Graeme Geldenhuys
Graeme Geldenhuys wrote 6 lines
Op 2010-11-11 14:58, Henry Vermaak het geskryf: > someone else to pick up and continue.  At least with fpc you can jump > in and fix it yourself, or even hire a compiler developer on contract > to do the work inside an agreed time scale. Still wouldn't work in my case, see above.

Yes, I realise this. I'm speaking in a more general sense.

For the problem at hand you will need an alternative solution, obviously, or do you think that relying on undocumented behaviour is a good idea? Look what happened with flashplayer in fedora with the current memcpy fiasco.

Show quoted text 10 lines
So hiring a skilled compiler developer or putting out a bounty will not solve my problems. So there goes my ideas of using FPC to develop two commercial developer tools: a cross platform installer and an alternative debugger toolset. Unlike Delphi, I can't ship FPC compiled .ppu units that other developers can simply use. So I need to supply source code, which in turn needs to be compiled by the official FPC compiler (not my personal hacked version). Now you might understand my frustrations with FPC, it's killing my business ventures. From over here it looks like you are killing your business ventures by

basing the implementation on dangerous assumptions.

Btw, why this cross platform installer? I've thought about adding functionality to fpmake to export a wix xml file that people can use as a start to build an installer on Windows. I'm sure the same could be done for linux packages, too.

Henry

Reply by email

Florian Klaempfl
to Graeme Geldenhuys: Op 2010-11-11 13:05, Thaddy het geskryf: Sorry, but I disagree. I had a lot lets gray…
Graeme Geldenhuys wrote 15 lines
Op 2010-11-11 13:05, Thaddy het geskryf: > Graeme should realize that the Delphi compilers (or MS compilers or > Watson, or Intel) can all drive you nuts with behaveour beyond the > documentation or beyond logic. Sorry, but I disagree. I had a lot lets gray hairs using Delphi 7 (maybe even Kylix 3) than I do with FPC. > At least with FPC, you can do something about it, like with the GNU > compiler set. That is not a certainty! Say I had the expertise, and I did manage to fix my current problem so that it behaves like Delphi, it will NOT be accepted in the offical FPC source tree.

Who said that? It was said that that the compiler developers have the opinion that there is no reasonable way to get it working in a way like delphi simply because it is not documented how it really works in delphi. Maybe there are cases were delphi reuses the temp, e.g. if another function is called returning an interface or whatever.

I've also the opinion that the solution is simply a poor hack. If I want to do it right, I get the aspect branch of Thorsten into shape and use an aspect oriented approach.

Reply by email

Graeme Geldenhuys
to Henry Vermaak: Yes, I realise this. I'm speaking in a more general sense. For the problem at hand you…

Op 2010-11-11 15:32, Henry Vermaak het geskryf:

obviously, or do you think that relying on undocumented behaviour is a good idea? Look what happened with flashplayer in fedora with the current memcpy fiasco.

Sorry, I don't know about that problem. I've never used Fedora.

From over here it looks like you are killing your business ventures by basing the implementation on dangerous assumptions.

Well, in the case of Delphi, and the fact that it (this interface behaviour I discussed) has been working for use for just over a decade is not bad going, and good enough for me (and clearly for other ISV's too). Having to tweak your code once every decade is not a considered a problem.

Btw, why this cross platform installer?

Simply because what is out there is rather crap. To big 3rd party dependencies (a Java VM, large Qt libraries, large GTK libraries etc), way too expensive, doesn't always support console and GUI etc. My solution works on any system with or without a GUI. And if the latter, just a bare mininum GUI (in the case of Linux/Unix - just minimal X11 setup) is needed. It's XML driven, scriptable, customizable and comes with a graphical Install Builder too - designed for the Free Pascal developer, but not limited to them. My installer favours the GUI (but doesn't shun console needs), so Linux desktop users can finally have single file setups and simply the "next, next, finish" experience Windows users have had for so long.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net:8080/fpgui/

Reply by email

Henry Vermaak
to Graeme Geldenhuys
Graeme Geldenhuys wrote 6 lines
Op 2010-11-11 15:32, Henry Vermaak het geskryf: > obviously, or do you think that relying on undocumented behaviour is a > good idea?  Look what happened with flashplayer in fedora with the > current memcpy fiasco. Sorry, I don't know about that problem. I've never used Fedora.

http://lwn.net/Articles/414467/rss

Show quoted text 7 lines
> From over here it looks like you are killing your business ventures by > basing the implementation on dangerous assumptions. Well, in the case of Delphi, and the fact that it (this interface behaviour I discussed) has been working for use for just over a decade is not bad going, and good enough for me (and clearly for other ISV's too). Having to tweak your code once every decade is not a considered a problem.

If a "tweak" can fix this if Delphi changes their implementation, why don't you just tweak it now so it works in fpc, too? Because this is much deeper than just tweaking. They've based their implementation on undocumented features.

Show quoted text 12 lines
> Btw, why this cross platform installer? Simply because what is out there is rather crap. To big 3rd party dependencies (a Java VM, large Qt libraries, large GTK libraries etc), way too expensive, doesn't always support console and GUI etc. My solution works on any system with or without a GUI. And if the latter, just a bare mininum GUI (in the case of Linux/Unix - just minimal X11 setup) is needed. It's XML driven, scriptable, customizable and comes with a graphical Install Builder too - designed for the Free Pascal developer, but not limited to them. My installer favours the GUI (but doesn't shun console needs), so Linux desktop users can finally have single file setups and simply the "next, next, finish" experience Windows users have had for so long.

Will you integrate with existing package managers? If not, how will you deal with dependencies, upgrades, config files? Package managers make this easy, installing software isn't just about copying files around.

Henry

Reply by email

Graeme Geldenhuys
to Henry Vermaak

Op 2010-11-11 16:42, Henry Vermaak het geskryf:

much deeper than just tweaking. They've based their implementation on undocumented features.

And many others have done similar things: in Delphi language, Delphi IDE, Microsoft OS, in Unix OS etc... It might not be "ideal", but it is a practise that's been around since the dawn of computers, and seems an acceptable risk.

Will you integrate with existing package managers?

It is planned yes, but might not be in the first release.

If not, how will you deal with dependencies, upgrades, config files?

I'm targeting the "desktop developer" market, not the OS, Library or Desktop Development Environment (Gnome, KDE libs themselves) market. The latter already have solutions via the many variations in package managers. In cases like Delphi, Lazarus, Kylix, fpGUI, MSEgui based projects projects, it is normally just copying files around, registering a service or DLL, and creating icons. But that is not the extend of the installer.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net:8080/fpgui/

Reply by email

Hans-Peter Diettrich
to Graeme Geldenhuys: Op 2010-11-11 13:05, Thaddy het geskryf: Sorry, but I disagree. I had a lot lets gray…
Show quoted text 6 lines
> At least with FPC, you can do something about it, like with the GNU > compiler set. That is not a certainty! Say I had the expertise, and I did manage to fix my current problem so that it behaves like Delphi, it will NOT be accepted in the offical FPC source tree.

That's just why I started the FpcExt project, where inofficial branches can be hosted.

Show quoted text 6 lines
So there goes my ideas of using FPC to develop two commercial developer tools: a cross platform installer and an alternative debugger toolset. Unlike Delphi, I can't ship FPC compiled .ppu units that other developers can simply use. So I need to supply source code, which in turn needs to be compiled by the official FPC compiler (not my personal hacked version).

Alternative .ppu handling can be implemented in an FpcExt branch, and I can have a look at that problem, once the requirements are specified. Since you already have your own public git repository, you could host your or third-party variations there as well. What remains to provide are readily usable snapshots of such customized compilers, that do not burden the users with the installation and use of not normally required tools (SVN, git...).

DoDi

Reply by email