[リストへもどる]
一括表示
タイトルgogo.dll 2.xx と 3.xxの互換性
記事No283
投稿日: 2002/03/25(Mon) 09:30
投稿者KKK
gogo.dll 2.xxではVBから使えたのに 3.xx はVBから使えなくなってしまいました。
でも、ソースをみるとちゃんとVB用の宣言がされているんですよね。

タイトル gogo.dll 2.xx と 3.xxの互換性
記事No284
投稿日: 2002/03/25(Mon) 15:37
投稿者
> gogo.dll 2.xxではVBから使えたのに 3.xx はVBから使えなくなってしまいました。
> でも、ソースをみるとちゃんとVB用の宣言がされているんですよね。

申し訳ないです.VBを常用しているメンバーがいないので,そのへんのチェック
は大甘なものですから.

で,どう使えなくなったか教えていただけると問題が解決しやすいのですが,教
えていただけないでしょうか?


タイトル gogo.dll 2.xx と 3.xxの互換性
記事No285
投稿日: 2002/03/25(Mon) 21:32
投稿者もと
VB6の入ってるマシン借りて少し試してみましたが、Mingw-gccでコンパイルしたものと、VCでコンパイルしたもので挙動も違ってます。
テストプログラムは、ここのサイトに公開されているVBのサンプルソースを使いました(私はVBはわかんないもので(^^;))

【Mingw32-gccでコンパイルしたもの】
 ・入力WAVファイルが存在する場合
    正常にエンコード終了
 ・入力WAVファイルが存在しない場合
    「入力ファイル[test.wav]を開けませんでした」の
    メッセージ表示後 MPGE_endCoderVBを実行したとこで
    アクセス違反

【VC6でコンパイルしたもの】
  入力ファイルの存在に関係なく以下の部分で無限ループ
-------------------------------------------
'エンコードの開始
Do
lngWin32ApiResultCode = MPGE_processFrame
lngCurrentFrame = lngCurrentFrame + 1
Debug.Print CStr(lngCurrentFrame) & "/" & CStr(lngTotalFrame)
DoEvents
'入力ストリームがなくなるかその他エラーが発生するまで繰り返す
Loop While lngWin32ApiResultCode = ME_NOERR
------------------------------------------

VC版はLibSndFile版と、そうでない版を試しましたが同様でした。

  
    

タイトル gogo.dll 2.xx と 3.xxの互換性
記事No288
投稿日: 2002/03/26(Tue) 00:02
投稿者もと
たて続けに申し訳ないですm(..)m

VC版では、ことごとく MPGE_〜VB()の呼び出しに失敗してる
ようなんで見てみたらエクスポート関数名の頭にアンダースコア
がついてるせいのようです。

Mingw版で、MPGE_processFrameVB を一度も通らないでMPGE_closeCoderVB を実行すると落ちる原因はわかりません。



タイトル gogo.dll 2.xx と 3.xxの互換性
記事No289
投稿日: 2002/03/26(Tue) 02:31
投稿者PEN@海猫
 諸々ご迷惑をお掛けしております。

> VC版では、ことごとく MPGE_〜VB()の呼び出しに失敗してる
> ようなんで見てみたらエクスポート関数名の頭にアンダースコア
> がついてるせいのようです。

 ご指摘ありがとうございます。調査の結果、
 これはgogo_dll.dspのファイル一覧にgogo_dll.defを
 追加し忘れていたためでした。

>【VC6でコンパイルしたもの】
>  入力ファイルの存在に関係なく以下の部分で無限ループ

 上記に関連しますが、DLLが正しく読み込めていないと
 このような挙動を示すようです。
 上記対策で動くことを確認しました。

> Mingw版で、MPGE_processFrameVB を一度も通らないで
> MPGE_closeCoderVB を実行すると落ちる原因はわかりません。

 こちらは単にコードの不具合でした。後日これらの問題の修正版を
 リリースさせていただきます。

# 色々準備中です〜