タイトル : Re^2: wininet.dllを使用したftpについて 投稿日 : 2010/08/24(Tue) 15:30 投稿者 : エイジ
魔界の仮面弁士様、お返事ありがとうございます。 > とりあえず、ポート番号の指定を、INTERNET_INVALID_PORT_NUMBER ではなく > (INTERNET_DEFAULT_FTP_PORT などの)固定値に変えた場合はどうなりますか? ポート番号をftpサーバに設定しています21にしましたが同じエラーが表示されました。 > > > Private Declare Function > Private Declare Unicode Function で記述した方が安全かと。 上記のようにUnicodeと記載できるのですが、以下のようなエラーになります。 対象の .NET Compact Framework バージョンは、ANSI、Auto、または Unicode 修飾子の使用をサポートしていません。 > > > hInternetSession As Integer > hInternetSession 等は、本来は IntPtr 等の方が良いと思いますよ。 > (Integer でも動くとは思いますけれども) IntPtrに変更しました。 > > > lngInternetOpen = InternetOpen("WININET", _ > API の戻り値は Integer なのに、それを Long で受けるのですか? 気がつきませんでした。Integerに変更します。 > > > Exit Function > 接続が開きっぱなしです。 > InternetCloseHandle で後始末すべきかと。 先ほど記載のソースをTryの中に記載し、切断のロジックはFinallyの中に 記載していました。細かい箇所までのアドバイスありがとうございます。 上記、教えていただいた内容の変更できる箇所は変更しましたが、エラー内容は 変わらない状態です。 > コードの間違いなどで、文字列のマーシャリングで失敗していた場合 この意味がよく分かりません。 ftpの接続ができ、ftpサーバ内にありますフォルダやファイルをftpサーバ内で コピーや削除、移動などはできるのに、実行機とftpサーバとのやりとり時に エラーになります。 実行機は携帯電話(NTT DocomoのT-01A)です。携帯電話からftpサーバへは、Vpnで 接続しています。実行機内のファイルのパスの書き方に問題があるのでしょうか? ファイルのパスは、実行機内でファイルコピーなどで使用している方法と同じで [\フォルダ名\ファイル名]としています。 何かアドバイスお願い致します。 > どうしてもうまくいかない場合には、OpenNETCF.Net.Ftp などの > 出来合いのライブラリを使うのも手です。 > http://www.opennetcf.com/FreeSoftware/tabid/84/Default.aspx > http://www.opennetcf.com/library/sdf/html/35dea976-f2b7-94c9-88b5-2760b2f0b630.htm > http://www.opennetcf.com/library/sdf/ 出口が見えなくなりましたら、上記サイトも参考にさせていただきたいと思います。 |