I spent most of today fighting this incredible bug and it nearly got me. At some point I even admitted defeat, which I never usually do. But while trying to circumvent the said bug, I found its Achilles’ heel and nailed it. It tried to bring me with it to the other side by grabbing my sanity, but I stood strong and in the end I thrived.
Seriously I was stuck all day on this problem that I couldn’t solve and it was a pretty one. I searched the web to find answers but sometimes your problem is so tricky that you don’t know how to describe it. Well describing it is already a good step into solving a problem, because you know what the problem is. Mine was that, I was handing over some SWF files to some third party and the file on their part wasn’t behaving the same way than on our side.
At first, I was thinking the problem came from their side as it was working properly on ours but I was wrong. After I thought it was a question of cache; browser and server, but that wasn’t right too. No it was way trickier than this.
I had 2 SWF files one loading the other. What I didn’t know was that they both compiled some ActionScript classes even if one of them definitely didn’t need them ( I didn’t created that thing). So in the application their was a duplication definition for those classes and the Flash player was just using one of the definition, the loader one not the loaded. The modification I needed to do was only on the loaded and I didn’t need to compile the loader so once the loaded file was inside the loader I couldn’t see the changes that was done in the duplicated classes. I really was pulling my hairs and all I needed to do was to compile the loader file.
I think that’s where experience kicks in; I sure will know when some changes don’t appear in a loaded file to look for duplicate definition of classes. Oh well I came out stronger. I don’t know if this post will help anyone but it sure got today’s frustration out of my chest.