関数ポインタ型のメンバ変数

ActiveBasicのバグと思われる不具合を発見された方は、こちらから知らせていただけると助かります。
返信する
メッセージ
作成者
pmh

関数ポインタ型のメンバ変数

#1 投稿記事 by pmh »

コード: 全て選択

Class CTest
Public
	pFunc As *Sub()
	
	Sub Func1()
		pFunc = AddressOf(Func2)
		pFunc() 'エラーになる
	End Sub
End Class

Sub Func2()
End Sub

Dim c As CTest
'Dim pFunc2 As *Sub() 'これを入れるとエラーにならない
c.Func1()
上のように、関数ポインタ型のメンバ変数から直接関数を呼び出そうとすると、
「"pFunc"のパラメータ指定が間違っています」
というエラーが出ますが、これはバグでしょうか。
(別の場所で同じ型の変数を宣言していると、なぜかエラーになりません。)
山本
Site Admin
記事: 535
登録日時: 2005年5月30日(月) 15:08
連絡する:

#2 投稿記事 by 山本 »

ご報告ありがとうございます。

関数ポインタをクラスメンバとして定義したときに、それを正常に呼び出せなくなるバグを確認いたしました。次回のバージョンアップにて修正しますので、今しばらくお待ちください。
高信期

#3 投稿記事 by 高信期 »

TypeDefした関数ポインタをクラスメンバに定義すると
「文法が間違っています」
とエラーが出ます。
山本
Site Admin
記事: 535
登録日時: 2005年5月30日(月) 15:08
連絡する:

#4 投稿記事 by 山本 »

こちらでも現象を確認できました。次回のバージョンアップで修正します。
返信する