Question

For my project I am using the following:

  • FlashDevelop 3.3.4 RTM
  • Flash Pro CS 5 (libraries only, no code)

Some time ago we started using TLFTextfields. One of the things I had to do was include the tlfruntime.swc file from the Adobe Flash CS 5 folder in the FlashDevelop project. Note that I copied this file to the project folder and included it, I didn't just include the file straight from the CS5 path.

I have since been given a new computer that has Flash CS 5.5. I recompiled one of my swf libraries in CS 5.5, and now when I run the program, I get:

Illegal override of createTextLine in flashx.textLayout.compose.ComposeState

I figure the tlfruntime.swc being included in the FlashDevelop project is out of date and needs to be updated with the one from CS 5.5. So I copied the tlfruntime.swc from the CS 5.5 path, include it in the FlashDevelop project (instead of the older file), but now I get this:

Illegal override of softKeyboardActivatingHandler in fl.text.container.TLFContainerController.

Can anyone assist with what else I need to do to get TLFTextfields working again in CS 5.5?

UPDATE: I have updated FlashDevelop to 4.0.1 RTM, and now I get this error:

Illegal override of createGeometry in flashx.textLayout.elements.FlowGroupElement.
Was it helpful?

Solution

It is very unfortunate that Adobe does not distribute the tlfruntime.swc freely, and does also not seem to spend much time explaining changes.

I've run into the same problem: The API for TLFTextField changed in TLF2, which is bundled with CS5.5. The most remarkable change was the complete removal of TextLayoutFormatValueHolder (good riddance!), but there have been a number of other changes, all of which I don't remember.

Copying the newer tlfruntime.swc was the right thing to get started, now you also have to adapt your code, unfortunately. You should open all the parts of your older libraries, which use TLF, in FlashDevelop (as with all code checking at editing time, Flash IDE won't help much) and see if there are any error messages, then check against the most recent API. Careful about the filter settings - you might look at an older version of TLFTextField!

For the most part, these changes should not take much effort. I was done in a few hours. But there may well be some edge cases, where you have to do more extensive rewrites.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top