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.
Bookmarks