ab.com コミュニティ
https://www.activebasic.com/forum/

Interfaceキーワード @AB4
https://www.activebasic.com/forum/viewtopic.php?t=1071
ページ 11

作成者:  イグトランス [ 2006年5月23日(火) 23:05 ]
記事の件名:  Interfaceキーワード @AB4

http://d.hatena.ne.jp/dai_optimistic/20060523
なんと今のAB4には既にInterfaceがあるそうです。

というわけで早速試してみました。(AB 4.24)
コード:
Interface ITest
	Sub Hello()
End Interface

Class TestImpl
	Inherits ITest
Public
	Sub Hello()
		MessageBox(0, "Hello world", "TestImpl", MB_OK)
	End Sub
End Class

Dim ti As TestImpl
Dim pTest As *ITest
pTest = VarPtr(ti)
pTest->Hello()
End
ProjectEditorではInterfaceがキーワードとして色付けされることにも驚かされました。

コンパイルして実行してみると,なるほどHello worldは表示されました。
しかし最後のEndが無いとアクセス違反になってしまいます。
個人的には関数の呼び出し方式が一致していないのではと勘ぐっていますが検証していません。

作成者:  たかせ [ 2012年2月22日(水) 21:52 ]
記事の件名:  Re: Interfaceキーワード @AB4

AB5ではコンパイルエラーとなります。
ちなみにAB5 CP5最新でコンパイルしてみたら

D:\APPLTEST\test.bas(6) : クラス以外の型を継承元として指定することはできません。
コンパイル中...
D:\APPLTEST\test.bas(13) : 内部エラー
D:\APPLTEST\test.bas(15) : [警告] *TestImplから*ITestに強制変換されています。

-----------------------------------------------------
コンパイルは中断されました(エラー:2、警告:1)。

です。

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/