Hi ho everyone. Here's version 0.01 of the DGC update - it works under my Delphi 5 and 6 - and may work under Delphi 7, but that's where you come in!

First of all, you have to use the JEDI headers: over here. Extract them and install them into your library path (tools->environment options->library->library path). I'm not sure if they work fine with Delphi 7, since Illunis contacted me and said that there was an error in DirectDraw.pas. If you get that error, here's the pm I sent to him earlier:

Strange! It works fine in D6. It sounds like a problem with the JEDI headers rather than DGC.

I think I've tracked the problem down, though I can't be sure without D7 to hand.

Find the line #139 in DirectDraw.pas - it has a comment saying "// Delphi 5 can't handle interface in variant records
// so we have to use pointers instead (which can be type-casted into interfaces):"

Notice there are a few {$IFDEF}s there. These conditionally compile different parts of the code. The term used, ver***, means the Delphi version used. I don't think that the headers have been updated for Delphi 7, though I could be wrong!

Find the line #148. It says:

PDirectDrawSurface = IDirectDrawSurface;

Try changing this to

PDirectDrawSurface = Pointer;

Recompile it and tell me the errors you get, if any.
I'm not sure if there are any more changes required for D7...

Once you've done that, double click on the "dgcb7.dpk" package and hit compile, then install on the package editor window (you may have to move the code editor out of the way if you can't see it). With luck, the things should be registered on a "dgc" component tab and you'll be able to compile your old projects.

I had to take out the property editors, which are the nice things that open in the IDE when you select a property (Borland, what were you thinking when you renamed dsgnintf.pas and didn't include it in D6 Personal?!). This will make it harder (or impossible, I'm not sure) to fiddle with some settings).

If you have Delphi 5 then it should be possible to use the design editors. Find any .pas file containing "DsgnIntf" in the uses clause (commented out). Uncomment it, then search all files for the string "todo ak". Look for the "property editor" style comments and comment those blocks. I'm not sure if I commented them all, unfortunately... I may post an update for D5 with the property editors intact.

This release is simply intended for backwards compatibility: I offer no guarantee for new projects. I'm not even sure if it works yet, since I've not tried any of the examples (note to illunis: could you mail me the examples to [akeys "at" icscotland "dot" net], please?).

Post any and all errors/exceptions/computer catching fire errors here for me to deal with, please!