マルチスレッド。ウィンドウを AfxBeginThread パラメータで渡し,メンバ関数を呼ぶが ASSERT。そういえば CWnd を他のスレッドに渡せないんだっけ。ということは今まで CWnd をマルチスレッドのパラメータにしたことなかったのか。一応上のはハンドルを渡し,ウィンドウメッセージを使うことで解決。
FTP クライアントを作成。しかしデバッグのために Hi-HO へダイヤルアップしてたらアレなのでフリーの FTP サーバー,WAR-FTPD をインストール。ローカルで試すだけなので割合設定は楽だったが,一応設定を。
- [Property]-[Security]-[Edit User] で mortarco を作成,FileAccess で FTP 用の pub ディレクトリを指定。パーミッションも適当に設定。
- [Property]-[Option]-[Virtual File System] で仮想ディレクトリを作成。AutoStart にし,パスを c:pub,pub のように設定。
以上で FTP クライアントから接続ができた。
もう 1 台 LAN で接続してるんだから Linux で,って手もあるけどやっぱりローカルで手軽にって方がいいですな。
でクライアント本体の話。MFC の FTP クラスを使っててメモリリーク。調べてみると CInternetSession::GetFtpConnection で得たオブジェクトは自分で解放しなければならないらしい。ってヘルプにそんなこと書いてあったっけ? サンプル見れってことか。