重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

VB2008の初心者ですが、VB2008からはFTPのDLLを呼出し使いたいのですが、呼出方、使い方が解りませんので教えて下さい。

FTPのDLLなのですが、VECTORにありました、「dllftp.dll」というライブラリーです。
全部で5個のファイルが同梱されておりました。

1.このファイル類をどこにおけば良いのか。
2.VB2008での宣言はどうすれば良いのか。
3.関数としての使い方はどうすれば、同記述すれず良いのか。

READMEには以下の記述がありました。

以上宜しくお願い致します。

-------------------------------------------------------------

<関数の書式など>

●TsureFTP 関数

long TsureFTP(
LPTSTR lpHostName,/* FTPサーバのアドレス(例えば127.1.2.3) */
LPTSTR lpUID, /* ユーザID */
LPTSTR lpPSWD, /* ユーザIDに対するパスワード */
LPTSTR lpReFile, /* リモートのファイル名(PUTの場合ローカルのファイル) */
LPTSTR lpLoFile, /* ローカルのファイル名(PUTの場合リモートのファイル) */
LPTSTR lpSelectStr, /* コマンド(GET,PUT,DELのいずれか) */
LPTSTR lpCurrentDir /* リモートのディレクトリに移動する場合指定 */
);


●TsureFTP_ATR 関数

/* 戻り値を取得する構造体 */
typedef struct
{
char fname[256];
char fatrv[64];/* 戻り値(メッセージ)を格納する変数 */
} UDT;

UDT TsureFTP_ATR(
LPTSTR lpHostName, /* FTPサーバのアドレス(例えば127.1.2.3) */
LPTSTR lpUID, /* ユーザID */
LPTSTR lpPSWD, /* ユーザIDに対するパスワード */
LPTSTR lpCurrentDir, /* リモートのディレクトリに移動する場合指定 */
LPTSTR lpReFile /* リモートのファイル名 */
);

lpCurrentDirは、FTPサーバ内でディレクトリを移動する場合、指定します。何も
移動が無い場合は、「""」を指定してください。
lpSelectStrがDELの場合、lpLoFileに何を指定しても関数には影響はありません。

-----------------------------------------------------------------------------

以上宜しくお願い致します。

A 回答 (1件)

DLLはネイティブ(C言語用)のライブラリなので、DllImport属性またはDeclareキーワードを使って呼び出すことになります。


ファイルの置き場所はどこでもかまいませんが、場所によって指定の仕方が変わります。
自Exeと同じフォルダ、Windows\System32フォルダならDllのファイル名のみ、そのほかはフルパスでの指定だったと思います。

Declareの例:
Public Declare Function TsureFTP Lib "dllftp.dll" ( 引数・・・) As Integer

※おそらくこの説明だけでは不十分だと思いますが、.NETからネイティブDLLの呼び出しは結構複雑(特にマーシャリングがややこしい)なのでこれ以上は割愛します。(私も正確に説明できる自信ナシ・・・)

単にFTPによるダウンロード・アップロードを行う簡易的なものであれば、ネイティブなDLLを使わなくても.NETの標準機能で実装できるようです。下記URLを参考にしてみてください。

http://chaichan.web.infoseek.co.jp/vbtips/VBMemo …
    • good
    • 0
この回答へのお礼

迅速な回答有り難う御座いました。
お陰様で旨くいきました。
DLLを使わずに、下記の.NETの標準機能で行いました。
大変お世話になり有り難う御座いました。

ただ、もう一点あるのですが、この方法では今のところ、リモートサーバー側のディレクトリーが自動的に作成されません。
これのみが課題として残ってしまいました。
勉強をしてみます。
有り難う御座いました。

----------------------------------------------------------------
単にFTPによるダウンロード・アップロードを行う簡易的なものであれば、ネイティブなDLLを使わなくても.NETの標準機能で実装できるようです。下記URLを参考にしてみてください。

http://chaichan.web.infoseek.co.jp/vbtips/VBMemo …

お礼日時:2009/11/08 11:19

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