ページ 11

構造体のメンバに関数ポインタを書いた場合

Posted: 2006年4月10日(月) 02:58
by Rogue
こんばんは。

かなり前(ver3.xx頃)にABを少し触っていたのですがまた先日から少しABに
触れ直しています。
随分仕様が変わって機能も向上しましたね。

ところで、コーティング中に以下のような不具合(?)を発見しました。
一応、多少は検索してみましたが思いつくキーワードではヒット件数が多くて
該当の件は探せませんでした。

構造体のメンバに以下のように関数ポインタを定義するときにその関数の
引数が長い時などに複数行で書くとその構造体の変数を使用するときに
メンバの自動補完がおかしくなります。

コード: 全て選択

Type _Struct
	A As *Function(
		...
	) As Long
End Type

Dim Struct As _Struct
Struct.(ここで表示される自動補完メニューの一番上に空白があります)
この空白を選択するとエディタが強制終了します。
以下のように閉じるかっこと同じ行に引数を書くと回避できます。

コード: 全て選択

Type _Struct
	A As *Function(
		...
		B As Long) As Long
End Type
意味がよく分からなかったら申し訳ありません。
実際に試してみると分かると思います。

以下のようにポインタ(->)でも同様に再現するようです。

コード: 全て選択

Dim pStruct As *_Struct
pStruct->(ここで表示される自動補完メニューの一番上に空白があります)