RadPHP XEでコンポーネントの位置が勝手に変わってしまう問題に遭遇した。
再現方法
(1)新しいフォームを作成し、フォームのLayoutプロパティのTypeを「REL_XY_LAYOUT」に設定する。
(2)フォームにButtonコンポーネントを配置する。
(3)実行する
(4)ソースコードを表示し、ボタンのタグを確認する。
(5)ボタンを押し、画面が更新する。
(6)ソースコードを表示し、ボタンのタグを確認する。
最初の表示の時には、ボタンの位置は次のようになっている。
<div id="Button1_outer" style="Z-INDEX: 0; LEFT: 107px; WIDTH: 75px; POSITION: relative; TOP: 42px; HEIGHT: 25px">
ボタンを押した後では、ボタンの位置は次のようになっている。
<div id="Button1_outer" style="Z-INDEX: 0; LEFT: 107px; WIDTH: 75px; POSITION: absolute; TOP: 42px; HEIGHT: 25px">
styleのPOSITIONが”relative”から”absolute”に変わっている。
おそらくLayoutプロパティの情報がシリアライズされていないのではないかと推測する。
追記
件名を「RadPHP XEでコンポーネントの位置が変わる問題」から変更しました。
2010年12月10日追記
この問題を修正するには、graphics.inc.php の75行目(Layoutクラスの$_typeプロパティ)を編集し、privateをprotectedにします。
//private $_type=ABS_XY_LAYOUT;
protected $_type=ABS_XY_LAYOUT;
RPCL Rev.291ではこの修正で直っているようです。
RPCLの最新リビジョンで発生する問題ですか?
初期出荷状態のRPCLでは問題は起きないのですか?
http://www.joseleon.es/2010/09/21/rpcl-serialization-performance-improved-up-to-6-times/
の変更に対する修正漏れのような感じですね。
RPCLは最新リビジョンを使用しています。
> http://www.joseleon.es/2010/09/21/rpcl-serialization-performance-improved-up-to-6-times/
> の変更に対する修正漏れのような感じですね。
私もそう思います。
間違いなく rev291 をダウンロードしたと思うのだが、直っていなかった。
また、この問題は初期出荷状態のRPCLでも存在していたハズ。
いやー、手違いでした。最近RPCLがアップデートされてないかなーと思いダウンロードしてみたんですが、rev291 のままなんですが、以前ダウンロードしたはずのrev291と違うんですね。で、再度確認したら、直ってました。失礼いたしました。
前言撤回します。とんだ勘違いでした。直っていないですね。名にやってんだか。。。
数日前からRPCLがsourceforgeから消えているような気がするんだが、どうしたんだろう。
> 数日前からRPCLがsourceforgeから消えているような気がするんだが、どうしたんだろう。
ほんとうですね。気になります。
Pingback: RadPHP XE2に期待するのは、何よりもバグ修正 « 山本隆の開発日誌