構造体ポインタと関数ポインタ

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: 構造体ポインタと関数ポインタ

by 山本 » 2005年11月21日(月) 13:19

ご報告ありがとうございます。
原因を突き止めることが出来ましたので、次回のバージョンアップで修正します。

by マティ » 2005年11月21日(月) 03:37

ポインターにするとコンパイル出来ないようですね!
下記のように書き換えると動作するので、コンパイラ側のエラーチェックミスと思われます。
山本様いかがでしょうか?

コード: 全て選択


Sub Test()
  Dim A As EVENTSTRUCT, C As *EVENTSTRUCT
  C = VarPtr(A)
  C->Event = AddressOf(TestProc)
  A.Event(1)
End Sub
PS.こんな使い方が存在したなんて、ActiveBasicは奥が深いですね~!

構造体ポインタと関数ポインタ

by 高信期 » 2005年11月21日(月) 00:45

構造体のメンバとした関数ポインタを構造体ポインタから呼び出そうとすると、
「文法が間違っています」とエラー表示が出ます。

コード: 全て選択

#prompt
TypeDef EventProc = *Sub(Index As Long)
Type EVENTSTRUCT
  Event As EventProc
End Type

Sub TestProc(Index As Long)
  Print Str$(Index)
End Sub

Sub Test()
  Dim A As EVENTSTRUCT, C As *EVENTSTRUCT
  A.Event = AddressOf(TestProc)
  C = VarPtr(A)
  C->Event(1)
End Sub
Test()

ページトップ