RadPHP XEでコンポーネントのPOSITIONがrelativeからabsoluteに変わる問題

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ではこの修正で直っているようです。

コメント

  1. 間違いなく rev291 をダウンロードしたと思うのだが、直っていなかった。
    また、この問題は初期出荷状態のRPCLでも存在していたハズ。

  2. いやー、手違いでした。最近RPCLがアップデートされてないかなーと思いダウンロードしてみたんですが、rev291 のままなんですが、以前ダウンロードしたはずのrev291と違うんですね。で、再度確認したら、直ってました。失礼いたしました。

  3. 前言撤回します。とんだ勘違いでした。直っていないですね。名にやってんだか。。。

    数日前からRPCLがsourceforgeから消えているような気がするんだが、どうしたんだろう。

  4. > 数日前からRPCLがsourceforgeから消えているような気がするんだが、どうしたんだろう。
    ほんとうですね。気になります。

  5. Pingback: RadPHP XE2に期待するのは、何よりもバグ修正 « 山本隆の開発日誌

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください