1

对于我的项目,我使用以下内容:

  • FlashDevelop 3.3.4 RTM
  • Flash Pro CS 5(仅限库,无代码)

前段时间我们开始使用 TLFTextfields。我必须做的一件事是在 FlashDevelop 项目中包含 Adob​​e Flash CS 5 文件夹中的 tlfruntime.swc 文件。请注意,我将此文件复制到项目文件夹并包含它,我不只是直接从 CS5 路径包含文件。

此后,我得到了一台装有 Flash CS 5.5 的新计算机。我在 CS 5.5 中重新编译了我的一个 swf 库,现在当我运行该程序时,我得到:

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

我认为 FlashDevelop 项目中包含的 tlfruntime.swc 已过时,需要使用 CS 5.5 中的更新。所以我从 CS 5.5 路径复制了 tlfruntime.swc,将它包含在 FlashDevelop 项目中(而不是旧文件),但现在我得到了这个:

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

任何人都可以协助我还需要做什么才能让 TLFTextfields 在 CS 5.5 中再次工作吗?

更新:我已将 FlashDevelop 更新为 4.0.1 RTM,现在我收到此错误:

Illegal override of createGeometry in flashx.textLayout.elements.FlowGroupElement.
4

1 回答 1

1

非常遗憾的是,Adobe 没有免费分发 tlfruntime.swc,而且似乎也没有花太多时间解释更改。

我遇到了同样的问题: TLFTextField 的 API 在TLF2中更改,它与 CS5.5 捆绑在一起。最显着的变化是完全删除了 TextLayoutFormatValueHolder(很好摆脱!),但还有一些其他的变化,所有这些我都不记得了。

复制较新的 tlfruntime.swc 是正确的开始,但不幸的是,现在您还必须调整您的代码。您应该在 FlashDevelop 中打开使用 TLF 的旧库的所有部分(与在编辑时检查所有代码一样,Flash IDE 没有多大帮助)并查看是否有任何错误消息,然后检查最新的应用程序接口。注意过滤器设置 - 您可能会查看旧版本的 TLFTextField!

在大多数情况下,这些更改不应该花费太多精力。我在几个小时内完成了。但是很可能存在一些边缘情况,您必须进行更广泛的重写。

于 2012-04-03T07:55:43.667 回答