GPF and no idea why

Started by Christian Weilguny, November 22, 2010, 08:21:45 AM

Previous topic - Next topic

Christian Weilguny

Hi,

This time I run in a very strange behavior and I don't know if it is based on PB, on FF or on my system.

I've defined some classes in a dll with inherit IAutomation.

The classes works fine in the test-exe.

Then I add a property or a method or only a line of code to a class and compile the dll.

From this moment I get a GPF by calling a definite method from this class. It is not the same method I've changed.

This GPF can't be catched in any way. I've tried it by "ON ERROR", by "TRY", I've tried to put MsgBoxes to find out the position of the error. But the GPF comes by calling the method. I've renamed the method, but the result was the same.

First time this occoured, I fixed it with typing the method new AND renaming it. Now this has occoured in an other class and this helps nothing, too.

I've read the code 'letter by letter', there's no error in the code. I've closed FF, I've booted the machine, no result.
I've looked at the declare-file for the classes. It's all right.
All other methods and properties of this class works fine. This one not.

May be someone has an idea?

Christian

Christian Weilguny

Now I found the solution for this.

I added a property to the class and don't update the declare-file.
However, I didn't use the new property and have done so in the past without GPF.

But with the new created declare-file (tlb-400) there was no GPF.

Christian

José Roca

Quote
I added a property to the class and don't update the declare-file.
However, I didn't use the new property and have done so in the past without GPF.

It depends. If you add it at the end and don't call it, it will not GPF, but if you add it in the middle of the interface and don't change the declares, then a GPF is guaranteed because all the offsets from the added function to the last one will be wrong.