Dear Tater,
I really don't understand the point
I'd say that's getting rather obvious.
Let resume:
Nobody contested your experience (I'm not interested to make public the mine) but let say we are both skilled
We (not only me, but who cooperated in this thread) find a solution.
All my projects work with no problems.
But what are your Pelles C projects? IIRC, you once told us that for anything "serious" you use Delphi. So I'm going to take a guess that you use Pelles like most people do... quick jobs, support dlls and the occasional console program.
Yes it is likely you can either use as-is or easily convert quite a few of the headers for such simple tasks... For example, if I have a small GUI project that needs only Windows.h and maybe Commcrtl.h I can convert those headers in minutes... In fact I've done several on my own.
However; when things get serious --like in a big project-- the only smart answer is to head for a different compiler because you're either going to hit the limits of Pelles C or you're going to find yourself in this quagmire of converting headers with little or no documentation.
Now, let me be perfectly plain about this... here's my cards on the table...
With the exception of a stack management issue I idetified last year...
http://forum.pellesc.de/index.php?topic=5077.0 ... I happen to think that Pelles C, and POIDE are the bees knees. There is no better compiler and IDE on the net at any price.
I like Pelles C I really do.
However; with the Windows API being omissive and now becomming outdated, I find myself struggling to do stuff that should be "advanced" but possible. COM is one example but there are several others.
My suggestion here is that we (including Pelle) do one of three things:
- Admit and publish the limitations of the package. (which is happening now)
- Get busy and fill out the missing functionality.
- Let Pelles C die a rather ugly and uncermonious death.
Personally I'm favouring #2 since I would like to continue working in plain C but with the fullness of the Windows API.
Most of the Object Oriented headers (COM, DirectX, etc) from MS include C compatible interfaces in their bodies. (GDIPLUS being a noteworthy exception) It should thus be possible to use them with Pelles C... but there is some unknown thing that is preventing this. It seems that no matter what I do I can't get them to work... and the question is "Why?"... what aren't we being told?
If that documentation were here on the forums, in some comprehensive form, I would be more than happy to do the conversions and upload the new headers and libs... no problem.
Instead we've got you and timo --both better programmers than I-- talking over our heads and saying you know how to do it so it should not be a problem... But if an individual does not know how to do it, no amount of telling us it can be done is going to help.
I wrote down the howto, but you moved in a differnt way, made a cauldron of headers, made for a C/C++ compiler, and expected that they works together?
My test bed is a
starting point from which to build a catalogue of which headers can and cannot be converted, and what changes are needed to make them work. I don't claim it solves the problem, it is merely a tool for examining the problem.
Have you tryied to compile something following the instructions?
Yes... I did. It will compile a few simple things like my little backup program or my file integrity scanner... but when unleashed on anything of even moderate complexity like my HTPC remote control or build script tool it falls flat on it's face.
It works with the headers you used... but that is not a general purpose improvement, it's a very specific example.
But you said we can... You've been insisting that Pelles C works with untouched headers...
But at least to be aware of what you are including?
Right... as I said the first step is to compile a list of headers and libs that
cannot be converted because they are for C++ or C# or whatever... We then eliminate them from my mass include and carry on...
The goal is not to find some example to prove it works... the goal is to fix all the things that prevent it from working.
As I said what I have done is enough for me, I will give help to solve problems that can come out, but don't see any more development necessary.
So you've made some minor contribution and now you think it's all over and done with?
Thanks.
If you will define a different strategy that shows something working I will be honoured to partecipate to the development
Does it not occur to you that it is just as important to know what does not work?
We know you can't just switch the project folders and go for it... that is 100% painfully obvious... so we start by making a list of what does not work and then figuring out how to fix it.
Showing that some small subset does work accomplishes absolutely nothing.
As last consideration doesn't seem to you that you are getting a little bit .... trollish... it seems LD Blake words
I'm jocking of course.
Yes, I am being assertive. Ever since version 2.90 I've been pressing gently for better Windows API support, either by adding more stuff to the basic distribution or by converting MS headers after the fact... so far all I've seen is a bunch of trivial examples of something that does work. That's not problem solving... that's showing off.