カテゴリー
VB6

関数名と同じプロパティーを使うな

仕事はVB6オンリーだから、今時の.NETよりTipsが増えていくのはこれ必然。
クラスでFormatとかいうプロパティーを持っているクラスを作ったとすると、そのクラス内でFormat関数は使えなくなるので注意。
.NETならば、名前階層をSystem.Text?という風に明示的に打っていけばこの場合でもFomrat関数を使えると思うのだが、どうもVB6の場合はローカルのプロパティーを最優先する上に(これは.netも同じだろうが)、明示的にFormat関数を呼び出す方法が無いので、プロパティーに関数名と同じ名前をつけてしまうと、プロパティーの方が優先されて関数が呼び出せなくなってしまうようだ。
※コメント欄で教えてもらいましたが、VBAからたどっていくとVBの標準関数も探し当てられるみたいです。

この記事を書いた人: A-tak

A-tak.com(えいたっく どっとこむ)の管理人。
Apple野郎なおっさんでしたが、ちょっと最近のAppleには飽き気味。
A-tak.comは2002年2月から運営(前身のサイトは1999年3月から)。今年で18年目!

Youtube / Twitter / Mastodon / Facebook

コメントは受け付けていません。