ListBoxのエラーについて - Printable Version +- Curl Global Community (https://communities.curl.com) +-- Forum: Discussions (https://communities.curl.com/forumdisplay.php?fid=1) +--- Forum: General Curl questions (https://communities.curl.com/forumdisplay.php?fid=2) +--- Thread: ListBoxのエラーについて (/showthread.php?tid=394) Pages:
1
2
|
ListBoxのエラーについて - alphard - 01-19-2012 以下のプログラムを実行し、生成されたListBoxをダブルクリックすると、 NullDereferenceException例外が発生します。 これはバグでしょうか?それともそういう仕様なのでしょうか? {curl 7.0 applet} {curl-file-attributes character-encoding = "shift-jis"} {value {ListBox} } RE: ListBoxのエラーについて - RobertShiplett - 01-20-2012 (01-19-2012, 04:45 PM)alphard Wrote: My result in IE8 is a VBox containing Fill - but no error - running RTE 8 (01-19-2012, 04:45 PM)alphard Wrote: Can you provide more runtime info? Did you try CTRL-Right-Click instead of a simple click? What result should we expect for an empty list box in an empty frame? For example, what do expect would be the size of that empty list box? I get a default for a default empty document (01-19-2012, 04:45 PM)alphard Wrote: 以下のプログラムを実行し、生成されたListBoxをダブルクリックすると、 RE: ListBoxのエラーについて - c-s - 01-20-2012 これは7.0.xのバグでした。 8.0に直っています。 直っていない7.0の回避策として、try/catchで無視すればいいです。 たとえば: Code: {curl 7.0 applet} RE: ListBoxのエラーについて - RobertShiplett - 01-20-2012 This variant: {VBox height = 200px, {text Line 1}, {hrule}, {ListBox}, {hrule}, {text Line 2} } also gave no error - CTRL-Right-Click shows {Fill} again for the empty ListBox under IE8 RE: ListBoxのエラーについて - alphard - 01-20-2012 Thank you for the reply. tuntime is as follows. Curl® RTE build:7.0.5 support API version: 7.0.5, 5.0.4, 4.0.3, 3.0.8 debug API version: 7.0, 5.0 Windows7(32bit) IE8.0.7601.17514 ---------------------------- {curl 7.0 applet} {curl-file-attributes character-encoding = "utf8"} {ListBox} ---------------------------- CTRL-Right-Click -> OK CTRL-Right-DblClick -> OK Right-Click -> OK Right-DblClick -> OK CTRL-Left-Click -> OK CTRL-Left-DblClick -> NG (NullDereferenceException) Left-Click -> OK Left-DblClick -> NG (NullDereferenceException) ---------------------------- {curl 5.0 applet} {curl-file-attributes character-encoding = "utf8"} {ListBox} ---------------------------- CTRL-Right-Click -> OK CTRL-Right-DblClick -> OK Right-Click -> OK Right-DblClick -> OK CTRL-Left-Click -> OK CTRL-Left-DblClick -> OK Left-Click -> OK Left-DblClick -> OK Do you think that it is a bug? RE: ListBoxのエラーについて - alphard - 01-20-2012 Curl Engineer様 ご回答ありがとうございます。 やはりバグでしたか。それがわかっただけで御の字です! 回避のコードまでありがとうございます!助かりました。 RE: ListBoxのエラーについて - alphard - 01-23-2012 すみません。前回解決したと思っていたのですが・・・ 概観をCurl Ver5のままにしたい為、{install-standard-look-and-feel} をつけて実行してみると、「StandartListBoxUIからSkinnableListBoxUIへキャストすることはできません。」というエラーが発生します。 これを回避することはできないのでしょうか? Code: {curl 7.0 applet} RE: ListBoxのエラーについて - c-s - 01-23-2012 (lb.ui-object asa SkinnableListBoxUI) を書いているが、 {install-standard-look-and-feel} の影響で lb.ui-object は StandardListBoxUI になっているはずです。 「Standard」を使えば、直接設定しない限りにFeelとSkinとかが使えません。 StandardUIならFeelじゃなくて、そのUIクラスを継承すべきです。 StandardListBoxUI には同じ handle-listbox-pointer-event がありますので、必要であればそれを継承すればいいはずです。 ちなみに、 ui-object を直接変えるよりは、 register-ui-proc で登録出来ます。 RE: ListBoxのエラーについて - alphard - 01-23-2012 回答ありがとうございます。難しいですねー。 この回答でロジックわかる人教えてください。 (01-23-2012, 02:59 PM)c-s Wrote: (lb.ui-object asa SkinnableListBoxUI) を書いているが、 {install-standard-look-and-feel} の影響で lb.ui-object は StandardListBoxUI になっているはずです。 RE: ListBoxのエラーについて - dankom - 01-23-2012 c-sさんが言ってる事はこーゆーことだと思います。 ↓ {curl 7.0 applet} {install-standard-look-and-feel} {define-class public MyStandardListBoxUI {inherits StandardListBoxUI} {method protected open {handle-listbox-pointer-event eointerEvent}:void {try {super.handle-listbox-pointer-event e} catch e:NullDereferenceException do } } } {value let lb:ListBox = {ListBox height = 0.7in, "red", "green", "blue" } set lb.ui-object = {MyStandardListBoxUI} lb } |