PlanetSquires Forums

Support Forums => Other Software and Code => Topic started by: Christian Weilguny on November 22, 2010, 08:21:45 AM

Title: GPF and no idea why
Post by: Christian Weilguny on November 22, 2010, 08:21:45 AM
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
Title: Re: GPF and no idea why
Post by: Christian Weilguny on November 23, 2010, 12:08:27 PM
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
Title: Re: GPF and no idea why
Post by: José Roca on November 23, 2010, 06:17:58 PM
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.