ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月28日(木) 21:06

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 2 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2006年5月23日(火) 23:05 
オフライン

登録日時: 2005年5月31日(火) 17:59
記事: 899
お住まい: 東京都
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が無いとアクセス違反になってしまいます。
個人的には関数の呼び出し方式が一致していないのではと勘ぐっていますが検証していません。


通報する
ページトップ
投稿記事Posted: 2012年2月22日(水) 21:52 
オフライン

登録日時: 2006年2月05日(日) 17:10
記事: 215
お住まい: 東京都
AB5ではコンパイルエラーとなります。
ちなみにAB5 CP5最新でコンパイルしてみたら

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

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

です。


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 2 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[6人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean