架空の映画のネタバレレビュー

現在VB2005ExpressEditionでUnlha32.dllを使ってファイルの解凍をしようとしています
しかし、失敗するのでエラーコードを出させるようにしてみました
でも、出てきたのはどうやらエラーコードとは違うもののようなのです
Unlha32.dllのエラーコードの出し方が間違っているようなのでエラーコードの出し方を教えてください
ソースです↓(半角スペースは全角スペースにしてあります)
Public Class Form1
  Private Declare Function Unlha Lib "Unlha32.dll" (ByVal CmdLine As String) As Long
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    MsgBox(Unlha("e C:\test.lzh -x1a1 -c C:\ *.*"))
  End Sub
End Class

A 回答 (2件)

引数の数もですが、関数の戻り値のデータ型も違うのではありませんか?



データ型が違えば、正しい値(つまり正しいエラーコード)は出てきませんよ。

宣言を見直して、正しく直してください。
    • good
    • 0
この回答へのお礼

VB6以前の説明を見て作っていたためだと思いますがソースの2行目の戻り値がLongにしていました
VB.NETになってからはデータ型の変化でIntergerにしなければいけなかったようです
以後気をつけます

お礼日時:2006/12/27 19:06

UnLhaの定義(Declare)、間違ってません?


引数は4つ必要なはずですが
    • good
    • 0
この回答へのお礼

いろいろな説明を見ていて0という指定でもいいものを要らないものと勘違いし、消してしまっていました
ご迷惑をおかけしました

お礼日時:2006/12/27 19:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報