ユーザーオブジェクトとは? ~PowerBuilder 入門!!第 7 弾 (1)~
みなさん、こんにちは!
このブログは、「PowerBuilder ってなに?」、「PowerBuilder ってなにができるの?」という疑問に、IT 用語の解説もしつつ、簡単に分かりやすくお答えすることをモットーにしています。
気になる方はぜひ続きを見てみてくださいね。
キャラクター紹介
ねこぴ
PowerBuilder の日本語版オリジナルキャラクター。
(猫に見えるが) PowerBuilder の先生。
最近、アニソンにはまっている。
ちまき
PowerBuilder をこれから学びたい開発初心者。
最近、ダイエット菓子を自分で作るのにはまっている。
ある日の午後のこと・・・。
♪らららら~
♪あなたとお~ここから始まる Wednesday~
なんですかその歌!
なんで水曜日?
アニソンだにゃ。奥が深いにゃ。
水曜日というのは月曜日からは何日か経ったけど、土日までも微妙に遠い何とも言い難い曜日だにゃ。
まあそう考えると奥が深いですよね・・・
前回はデータウィンドウ内のデータ更新とその確認 Part 6でしたよね!
君も今日からアニソンガールになるといいにゃ。
今回は前回からガラッと変わり、ユーザーオブジェクトについて学んでいくにゃ。
私はアニソンのみならず歌謡曲、ロック、K-POP だって聞きますよ。
なんならロックライブで頭降ってますよ。
えええええええ!rrrrrrrrrrrrrrrrrock!!!(?)
前回のブログでは「記入漏れがある更新時のエラー表示」について解説していきました。
今回はテーマがガラッと変わってユーザーオブジェクトについて解説していきたいと思います。
PowerBuilder って何なの?と思ったあなた!
PowerBuilder 入門ブログシリーズ第 1 弾をぜひご覧ください(^◇^)
PowerBuilder とは? ~PowerBuilder 入門!! 第 1 弾~
動画で分かりやすくPowerBuilder について知りたいなあという方は・・・
YouTube で PowerBuilder 入門シリーズの動画を公開中!なので要チェック★
最新版はこちら↓↓
ユーザーオブジェクトとは簡単に言うと 1 か所だけでなく、いろんなところに応用したい動作を 1 つのオブジェクトとして保存しちゃえ!というコンセプトです。
これはまさに「オブジェクト指向」に基づいたコンセプトだと言えますね(・ω・)ノ
「オブジェクト指向」は、オブジェクトごとに管理することで、修正や変更が簡単にできるということでした。
なので、動作もオブジェクトにまとめて管理してしまおうという感じですね。
これでいつでもどこからでも、必要な時にわざわざコードを書かなくても、オブジェクトを呼び出して使えるというわけです。
いつでもどこからでも呼び出して使える・・・まるでロボットや AI のようですね。
そんなオブジェクトを、ユーザー自身で作成するので、「ユーザーオブジェクト」という総称になっています。
実はユーザーオブジェクトには、クラスユーザーオブジェクトとビジュアルユーザーオブジェクトの 2 つの主な種類があります。
クラスユーザーオブジェクトは、非ビジュアルオブジェクトとも呼ばれます。
まずはクラスユーザーオブジェクトから解説していきます。
クラスユーザーオブジェクトはプロパティと関数で構成されるオブジェクトです。
どういうことかといいますと、「画面での表示機能は持たないオブジェクト」というと想像しやすいでしょうか。
そんなクラスユーザーオブジェクトはさらに以下の 2 種類に分けられます。
- 標準クラス
Transaction や Error など非ビジュアルの PowerBuilder オブジェクトを継承し、機能を独自定義します。
- カスタムクラス
特定のオブジェクトを継承せずに、機能を独自定義します。
この 2 つのユーザーオブジェクトは、IDE 上のメニューバーの「ファイル」-「新規作成」-「PB オブジェクト」、もしくはパワーバーから「新規作成」- 「PB オブジェクト」を開いていただくと確認できます。
次にビジュアルユーザーオブジェクトについて解説していきます。
これはそのままですが、ビジュアル = 形を持つオブジェクトということになります。
ビジュアルユーザーオブジェクトはさらに以下の 3 種類に分けられます。
- 標準ビジュアル
- カスタムビジュアル
- 外部ビジュアル
標準的なコントロール(コマンドボタンやシングルラインエディットなど)を継承し、機能を独自定義します。単一コントロールとして作成します。
標準的なコントロール(コマンドボタンやシングルラインエディットなど)を複数使用して、1つの機能を独自定義します。
PowerBuilder 以外のシステムで作成された機能を DLL 経由で定義します。
この 3 つのユーザーオブジェクトは、以下「PB オブジェクト」タブの右側にあります。
まずはクラスユーザーオブジェクトの作成から解説していきます。
新規作成からカスタムクラスを作成してみましょう!
それでは「新規作成」-「PB オブジェクト」タブ – 「カスタム クラス」を選択します。
以下の画像を確認すると、画面作成時にいつも見かける「レイアウト」タブがありません。
カスタムクラスは形を持たず、機能だけを有するオブジェクトでしたね( ˘ω˘ )
どんなイベントや機能を有しているかについてのタブはあります。
ただ「イベントリスト」や「関数リスト」を見ると、基本的な機能しか備わっていないので、ユーザーが自分で定義できるという訳ですな(^O^)
でもなぜこういった “見えない” オブジェクトが必要なのか?
ユーザーに見せないように裏でコソコソ処理したい場合には、オブジェクトに見た目は必要ないですよね。
ウィンドウなどの見た目を削ると処理も高速化できるので、そのような時に見えないオブジェクトは便利なんです!
続いて標準クラスを作成してみましょうか!
「PB オブジェクト」タブから「標準クラス」をクリックしてみましょう(`・ω・´)ゞ
そして継承元のデータ型を選びますが、今回は「datastore」を選択してみます。
「datastore」(データストア)は、見た目が無いデータウィンドウです。見た目が無いのでユーザーによる手入力などは行えませんが、検索や更新、スクリプトによる値の入力など、データウィンドウと同じメソッドやプロパティが用意されているので、データウィンドウの特長を生かしたいけどユーザーには見せたくないといった処理の実行時に利用すると便利なのです。
イベントリストや関数リストを参照すると、データストアに備わっている機能を確認することができます。
続いてビジュアルユーザーオブジェクトについてです。
代表して標準ビジュアルとカスタムビジュアルを作成していきます。
「新規作成」-「PB オブジェクト」タブ – 「標準ビジュアル」を選択します。
[OK] をクリックすると、下記のようにデータ型の選択画面が表示されます。
今回は「エディットマスク」を選んでみます。そうすると・・・?
「エディットマスク」が確認できますね!
先ほどの datastore とは違い、ビジュアルユーザーオブジェクトなので見た目のカスタマイズができます。
イベントリストや関数リストを参照すると、エディットマスクに備わっている機能を確認することができますね。
たとえば、このエディットマスクに、独自の機能を設定してウィンドウやユーザーオブジェクトに配置すれば、あらゆる場所で同じ機能を持つエディットマスクが利用できるようになる、ということになります!便利でしょ?
続いてカスタムビジュアルを作成しましょう(^o^)
「新規作成」-「PB オブジェクト」タブ – 「カスタム ビジュアル」を選択します。
カスタムユーザーオブジェクトは基になるデータ型を選択する場面はありません。
なぜなら、カスタムユーザーオブジェクトは、コントロールが集まった一つのブロックとして、エディットマスクなどの複数のコントロールを自由に配置して作成するものだからです。
下記のようによく使う項目 (コントロール) のセットを作成することで、様々な場面でこのセットを使用できるようになります。
なるほど・・・!
つまり、ユーザーオブジェクトは自分で機能を設定し、どこにでも応用的に使えるオブジェクト、ということですね!
そゆことだにゃ。
まさにオブジェクト指向に沿っているにゃ。
- -ユーザーオブジェクトは、クラスユーザーオブジェクトとビジュアルユーザーオブジェクトの 2 種類
- -クラスユーザーオブジェクトは機能のみ、ビジュアルユーザーオブジェクトはビジュアルと機能
- -どちらも作成しておくことで、アプリ開発時にタイムリーに使用でき、アプリの処理高速化も図れる
PowerBuilder 入門ブログシリーズ、次回の内容はこちら↓↓
ユーザーオブジェクトの継承とは? ~PowerBuilder 入門!!第 7 弾 (2)~
いかがでしたでしょうか?
より詳しく PowerBuilder に関してお知りになりたい方は、 Appeon 社の製品サイトをチェック!
「難しい言葉は簡単に、分かりやすく」をモットーに、今後も PowerBuilder についてお伝えしていきたいと思いますので、どうぞよろしくお願いします!