掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB以外のDLLでメール受信の最中に、メール受信に関するすべての処理を強制終了するには? (ID:123483)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
特攻隊長まるるうさん、id_rsa+さんありがとうございます。 Endを使った強制終了はするべきでないということは、この私も 承知しています。 実際、QueryUnloadにて後始末処理をさせているため、Endをやっちゃうと それらが実行されないですもんね。 強制終了という言葉がまずかったかなと思いますが、要は、Form2で 処理をやっている最中に、「閉じる」ボタンで受信処理とその関連 の処理を途中キャンセルし、後始末をした上で正常終了したいと いうことでした。 で、ご紹介のページを参考に検討したんですが、「閉じる」ボタンが 押されたらTimerを起動して終了作業を行い、その後にForm2を閉じる という方法ではどうかなと思いましたが、もう少し調べてみたいと 思います。 id_rsa+さんがおっしゃるように、「QUIT」のコマンドでサーバーへの 接続が意図的に切断できればいいのですが、BSMTP.DLLのメール受信 関数を発行してしまうと、その処理が終了するまで待っているしか ないのかなと思います。 この関数の処理を途中で正常キャンセルして、Form2の後始末をした上で Form2を閉じることができないかと思った訳です。 Winsockを使ってサーバーへの接続をすべて自前でやっていれば、 その辺の操作というのは自分の考え次第でどうにでもなるのかなと思うのですが、 他人の作った関数なので、ブラックボックスとして使うしかない のでしょうかね。 BSMTP.DLLのフリー版なので、サポートはないしそちらの掲示板でもあまり 動きがないようなので、質問しようにも手立てがありませんでした。 今回の件は、これまでのアドバイスを参考に、あと少し自分なりに検討して 解決を図りたいと思います。 ということで、なんらかの解決ができたらご報告します。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.