views:

75

answers:

3

I got the following error in Delphi 2007. What does it mean?

[DCC Error] uMyUnit.pas(9614): F2084 Internal Error: AV21B66E31-R0000000F-0

I did some recently added code removing, line insertions/deletions, changing compiler options, but nothing worked.

I was able to solve this by switching the 'Typed pointer @ operation' option off. Interestingly, that it was working with this option switched on. But after I added some code which doesn't even had pointers it broke.

+3  A: 

It's a condensed-down version of an error that's pretty familiar to any Delphi developer. If you saw it in the IDE, it would say something like:

Access Violation at location 21B66E31: Read of address 00000000.

It means that your code, as currently written, has managed to expose a bug in the compiler. Unfortunately, the only thing to do about it, since the source for the compiler isn't available, is keep doing more of what you've already tried that hasn't worked so far.

Or try updating to D2010 and see if it works better. They fixed a lot of internal compiler errors in Delphi 2010. (Granted, a lot of them were new errors introduced in Delphi 2009, but some of them weren't.)

Mason Wheeler
+1  A: 

Try restarting the IDE. It fixes a lot of internal errors.

If the error keeps occurring after a restart, and everything is still working, you can ignore the error. One of my projects has an internal error due to some resource compiler issue, I suspect, however it still works two years later, even after many modifications and rebuilds.

Marcus Adams
I've tried restarting of course. Didn't help. It's not a resource compiler. It's delphi compiler, so there's no exe file.
Max
+1 for restarting the IDE. OP should have indicated that he'd already tried it, if he'd already tried it. I would have suggested if you hadn't.
Chris Thornton
+3  A: 

Have you tried to:
- remove all the dcus and rebuild
- build with the command line compiler
- shuffle the order of the units in the uses clause
- bang your head on the wall (does not help, but at least you know why it hurts ^=^)

François