PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
10873 | 00/03/30 16:08:20 | RE(4):みなさんありがとうございます。 By スナフキン将軍 |
10869 | 00/03/30 15:52:12 | RE(3):PB6.5: Show関数を使うとエラー By Mika★ |
10867 | 00/03/30 13:14:15 | RE(2):PB6.5: Show関数を使うとエラー By ryochan |
10866 | 00/03/30 13:06:09 | RE(1):PB6.5: Show関数を使うとエラー By ふくぞー |
10865 | 00/03/30 12:24:24 | PB6.5: Show関数を使うとエラー By スナフキン将軍 |
カテゴリ:PowerBuilderの開発環境
日付:2000年03月30日 13:14 発信者:ryochan
題名:RE(2):PB6.5: Show関数を使うとエラー
スナフキン将軍さんこんにちは、
>今、プログラムで使用しているウィンドウが4つあり、各画面は
>1画面目のボタンを押したとき、2画面目をOpenして1画面目をHide・・・
>というようにして4画面目を表示、他の3つは非表示となっているのですが、
>4画面目のボタンを押して4画面目をClose、3画面目をShow関数で表示しようと
>すると、
>\"Nullオブジェクトの参照が行われました\"
>とエラーになります。
>
>3画面目を非表示にしなかったときは、4画面目でボタンを押すときも3画面目は
>表示されているので、3画面目をCloseしているということはないと思いますが。
ご存じかもしれませんが
Closeとは「非表示にする」という意味では無く、インスタンスを破棄し、
メモリから解放させるということになります。
また、show関数は、オブジェクトに対し、再表示、前面表示を行うというものです。
つまり、オブジェクトのプロパティを変更させる関数です。
従ってエラーとなった原因は、もう存在しないオブジェクトのプロパティを
変更しようとしたために起きたものと考えられます。
Closeしたオブジェクトを再表示といいますかもう一度生成させるためには
show関数では無くopen関数を使用します。
また、非表示にさせるには、visible属性をFalseにするかhide関数を使用し、
再表示するにはvisible属性をTrueにするか、show関数を使用します。
ですが、メモリをできるだけ有効に使用させるため、Close、Openを使用することを
お勧めします。(それでもオブジェクトがダブっているタイミングは存在しますが。)
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows98
DBMS Oracle SQL*Net 8
Browser InternetExplorer4.X
Server SoftWare
OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.