使用しているABのバージョン

フリートーク
返信する

使用しているABのバージョン

1 個までオプションを選択できます

 
 
投票結果を見る

メッセージ
作成者
のぶあや
記事: 22
登録日時: 2006年10月14日(土) 10:52
お住まい: 愛知

使用しているABのバージョン

#1 投稿記事 by のぶあや »

AB5の開発が進んでいますが、皆さんはどのバージョンを使っていますか?
ちなみに自分はAB4.24を使っています。

それと今回AB4.24でクラスに関するバグ(だと思う)を見つけたのですが、
バグ報告所に投稿したほうがいいですかね?
ver2,3はサポート対象外とされてますが、AB4はどうなのでしょうか?
新たに機能等の追加はなくてもかまわないのですが、
バグの修正くらいはしてくださるとありがたいですね。

一応発見したバグ(だと思う)を載せときます
必要があればバグ報告所に載せなおしますが
OverTaker
記事: 231
登録日時: 2005年5月31日(火) 17:14
お住まい: 茨城県

#2 投稿記事 by OverTaker »

AB5の開発が進んでいますが、皆さんはどのバージョンを使っていますか?
私は常に最新版を使っています。コーディングしているといつもバグを見つけてしまうので、最新版を使わざるを得ません。というより、ライブラリ開発なので当たり前ですね。
一応発見したバグ(だと思う)を載せときます
詳しい事情は説明に自信がないので省略させていただきますが、たしかAddressOf()でメソッドのポインタを取得してあれこれするというのは、うまくいかなかった気がします。これらは、5.0で搭載予定のデリゲートによって解決することが出来ます。
イグトランス
記事: 899
登録日時: 2005年5月31日(火) 17:59
お住まい: 東京都
連絡する:

#3 投稿記事 by イグトランス »

それはこういう風にすると回避できます。

コード: 全て選択

Sub MascotBasicSystem_EndMascot(ByRef mbs As MascotBasicSystem)
    mbs.EndMascot()
End Sub
こうしてAddressOf (EndMascot)の代わりにAddressOf (MascotBasicSystem_EndMascot)とするという具合です。勿論*Sub (ByRef mbs As MascotBasicSystem)と型が変わっていますけど。

それはともかく私はAB5とAB4をいったりきたりです。最近はAB5の方が多いですが。滅多に使いませんがAB2と3もそれぞれとっておいてはあります。
のぶあや
記事: 22
登録日時: 2006年10月14日(土) 10:52
お住まい: 愛知

#4 投稿記事 by のぶあや »

OverTaker さんが書きました:詳しい事情は説明に自信がないので省略させていただきますが、たしかAddressOf()でメソッドのポインタを取得してあれこれするというのは、うまくいかなかった気がします。これらは、5.0で搭載予定のデリゲートによって解決することが出来ます。
SetDropFunction()以外のメンバ関数を同様に関数ポインタで呼び出したときは
上手くいっていたので、てっきり大丈夫なのだと思ってました。
イグトランス (egtra) さんが書きました:それはこういう風にすると回避できます。

コード: 全て選択

Sub MascotBasicSystem_EndMascot(ByRef mbs As MascotBasicSystem) 
    mbs.EndMascot() 
End Sub
こうしてAddressOf (EndMascot)の代わりにAddressOf (MascotBasicSystem_EndMascot)とするという具合です。勿論*Sub (ByRef mbs As MascotBasicSystem)と型が変わっていますけど。
このクラス(MascotBasicSystem)は1つしか無いので以下のコードと同義と考えてよろしいでしょうか?
以下のように書き換えたらエラーが出なくなったので大丈夫だとは思うのですが・・・

コード: 全て選択

Dim system As MascotBasicSystem

Class MascotBasicSystem

Sub Sample()

    ~,AddressOf(MascotBasicSystem_EndMascot), ~

End Sub

Sub EndMascot()
    (省略)
End Sub

End Class

'グローバルな領域に関数を宣言
Sub MascotBasicSystem_EndMascot()
    system.EndMascot() 
End Sub
実はAddressOfで取得した関数ポインタはDLLに送り、
DLLで関数ポインタから関数を実行しているので、なるべく引数はとりたくないんです。
イグトランス
記事: 899
登録日時: 2005年5月31日(火) 17:59
お住まい: 東京都
連絡する:

#5 投稿記事 by イグトランス »

> このクラス(MascotBasicSystem)は1つしか無いので以下のコードと同義と考えてよろしいでしょうか?
とりあえずはそれで構わないです。
こういう場合を考えてか,Windows APIでは予めEnumWindowのように関数へのポインタと共に1つ引数を渡すようになっています。逆に自分がこういう風に関数へのポインタを受け取るときには,そういう風にしてクラスメソッドもコールバックできるようにしましょうということになります。これはデリゲートが導入されても変わりません。
たかせ
記事: 215
登録日時: 2006年2月05日(日) 17:10
お住まい: 東京都

AB5CP4がメインです

#6 投稿記事 by たかせ »

私はAB5CP4をメインとしてAB4.24は動作確認用として使用します。
とりわけAB5CP4はIDEのタブがTHE TEXT PRO版に類似していて大変気に入ってます。
本当はAB5CP5を使うのがベストですがなにしろEXEのサイズが700KB以上になるので。
2014年9月11日修正
返信する