1

私のプロジェクトでは、次のものを使用しています。

  • FlashDevelop 3.3.4 RTM
  • Flash Pro CS 5 (ライブラリのみ、コードなし)

少し前に、TLFTextfields の使用を開始しました。私がしなければならなかったことの 1 つは、FlashDevelop プロジェクトの Adob​​e Flash CS 5 フォルダーから tlfruntime.swc ファイルをインクルードすることでした。このファイルをプロジェクト フォルダにコピーして含めたことに注意してください。CS5 パスから直接ファイルを含めたわけではありません。

その後、Flash CS 5.5 が搭載された新しいコンピューターを受け取りました。SWF ライブラリの 1 つを CS 5.5 で再コンパイルしました。プログラムを実行すると、次のようになります。

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 は、CS5.5 にバンドルされているTLF2で変更されました。最も注目すべき変更は、TextLayoutFormatValueHolder の完全な削除 (削除してよかった!) でしたが、他にも多くの変更がありましたが、そのすべてを覚えていません。

新しい tlfruntime.swc をコピーすることは、開始するのに適切なことでしたが、残念ながらコードを調整する必要があります。TLF を使用する古いライブラリのすべての部分を FlashDevelop で開き (編集時のすべてのコード チェックと同様に、Flash IDE はあまり役に立ちません)、エラー メッセージがあるかどうかを確認してから、最新のものと照合する必要があります。 API。フィルタ設定に注意してください - 古いバージョンの TLFTextField を見てください!

ほとんどの場合、これらの変更にそれほど労力はかかりません。私は数時間で終わりました。しかし、より大規模な書き換えを行う必要がある、いくつかのエッジ ケースが存在する可能性があります。

于 2012-04-03T07:55:43.667 に答える