掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
FtpPutFileの戻り値 (ID:86008)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> Public Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" _ > (ByVal hFtpSession As Long, ByVal lpszLocalFile As String, _ > ByVal lpszRemoteFile As String, _ > ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean まず、この宣言が間違っています。 この場合は、戻り値を As Long で宣言する必要があります。 この関数の戻り値は、(Cの)『BOOL型』です。これは32bitの整数型です。 一方、(VBの)『Boolean型』は16bitなので、As Boolean にはできません。 もし、両者が同じサイズであったとしても、やはりBooleanで宣言するべきでは ありません。いずれも「=0」がFalse、「≠0」をTrueとみなすという点では 同じですが、(Cの)TRUE は「1」、(VBの)Trueは「-1」なので、APIの 呼び出しを行った場合に、今回のような問題が起きる可能性があります。 VB上で、 Dim R As Boolean R = 1 のように代入した場合、自動型変換によって R にはTrue(-1)が格納されますが、 APIにて格納した場合には、自動型変換は保証されない点に注意してください。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.