VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/09/16(Fri) 21:32
投稿者魔界の仮面弁士
Eメール
URL
タイトルRe^3:VBAで「型が一致しません」

> ところが「似て非なるもの」部分があって、例えば今回のHideSelectionプロパティ。
> VBAには在るがVB6には無い(VB.Netには在るのでしょうかね)。

……え? 『HideSelection プロパティ』、ですか??

それって、VBA(というかMicrosoft Forms)やVB6どころか、もっと大昔から存在している
プロパティの筈なのですけれどね。。。(^_^;)

何しろ、(16bit版時代の)VB2 にすら実装されていますし。(ちなみに、VB.NET 版にもあります)


> ということはVBとVBAのコントロールオブジェクトは、違うモジュールで提供されている。
> ちょっとリソースの無駄。

う〜ん。私は、それも微妙かな、と感じています。

似た機能であっても、機能等による「棲み分け」が必要な場面はありますので、
異なるモジュールとして提供されるのもアリだろう、と思っています。


具体的な話をすると。

MSForms.TextBox というコントロールは、VB6にて比べるなら、標準コントロールの VB.TextBox と
いうよりも、むしろ VB6 付属の "Microsoft Windowless Controls 6.0" (MSWLESS.OCX) にある
『Lightweight TextBox コントロール(WLText)』に近い存在だったりします。
(WLTextの事はご存知ですか?)

つまり MSForms は、「ウィンドウレス」にする事で、リソース消費量を抑えた
コントロールである、という見方ができるわけです。(軽量化されているわけですね)
他にも MSForms の方は、「Unicodeに対応している」という特徴もあります。


ならば VB.TextBox もWindowlessにすれば良かったのではないか? という考え方も
できそうですが、こちらは OS標準のコントロール(EditBox)をカプセル化したものなので、
これはこれで、「Windows APIを使っての制御が可能である」というメリットもあるわけです。
# まぁ、下位互換性の都合もあったのでしょうけれどね…。


> かつ知識の無駄がある。いずれ統合するのでしょうね。
それはありそうですね。
実際、.NET の世界でも、プロパティ名の統一化などに、その考え方の一端を読みれますし。


ただ、機能的に統合されたとしても、過去の機能で作成されたアプリが完全に無くなるわけでは
無いのですから、統合されたとしても、結局、「新たな選択肢が増えただけ」という事に
なってしまう可能性はあるかも知れませんけれどね。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -