Download Ftp-server
-
CFtpConnection::GetFile
-
Moin, habe mir die Hlfe durchgelesen. Da steht leider kein Beispiel. kann mir jemand vieleicht ein ein einfaches Beispiel geben oder sagen wo solches finde. Gegoogelt habe ich schon.
-
wulfgang schrieb:
Moin, habe mir die Hlfe durchgelesen.
Wirklich?
MSDN schrieb:
MFC Library Reference
CInternetSession::CInternetSession
...
Example:
See the example for CFtpFileFind.http://msdn.microsoft.com/en-us/library/272ce2aa(VS.80).aspx
-
ich glaube das problem dabei is, dass das Beispiel nicht genau CFtpConnection::GetFile Beschreibt

Gruß
-
Da hast du natürlich Recht

Vieleicht hilft ja dann das hier (GIDF):
-
Morgen, der Link hat schon sehr geholfen. Leider funktioniert das noch nicht so ganz. Ich erhalte 4 Warnungen
warning C4129: 'g' : unrecognized character escape sequence
warning C4129: 'g' : unrecognized character escape sequenc
warning C4129: 'C' : unrecognized character escape sequence
warning C4129: 'T' : unrecognized character escape sequence
Die Warnungen beziehen sich auf die zeilen mit FindFile und Getfile.
Können die mein Problem auslösen? Wie kann ich diese beseitigen?Während der Ausführung des Programms erhalte ich dann:
Debug Assertion Failed!
Program:....
File:f:\...#include "StdAfx.h" #include "transfer_textfile.h" #include "windows.h" #include <iostream> #include "Connect.h" using namespace std; transfer_textfile::transfer_textfile(void) { Connect(); CFtpConnection* connection_pointer; connection_pointer=Connect::getLastConnection(); CFtpFileFind finder(connection_pointer); try { BOOL bWorking = finder.FindFile(_T("server\ordner\ordner\bu.txt")); //Hier Warnungen if(bWorking) { BOOL bGot = connection_pointer->GetFile(_T("ordner\ordner\ordner\bu.txt"),_T("C:\ordner\TxtTransfer")); //Hier Warnungen } else { //something wrong with the file.. inform the user cout << "The File specified could not be found.!"; } } catch(CException* error) { TCHAR szCause[1024]; error->GetErrorMessage(szCause,1024); //sCause.Format("%s",szCause); } }
-
Du musst die "\" escapen!
z.B.:
aus ordner\ordner\ordner\bu.txt
wird
ordner\\ordner\\ordner\\bu.txt
-
Du musst die "\" escapen!
Habe ich gemacht. Die Warnungen sind auch verschwunden. Nur der Fehler während der Ausführung taucht immer noch auf.
Debug Assertion Failed!
Prgram: ...
File: f:\rtm\vctools\vc7libs\ship\atlmfc\src\mfc\inet.cp p
Line: 1768In der Umgebung von 1768 steht:
void CFtpConnection::AssertValid() const { ASSERT(m_pSession != NULL); if (m_hConnection != NULL) //Zeile 1768 { ASSERT(AfxGetInternetHandleType(m_hConnection) == INTERNET_HANDLE_TYPE_CONNECT_FTP); } }
-
Du hast kein Handel, ist deine Funktion getLastConnection() wirklich ne statische der Klasse? Denn diese scheint dir nicht das richtige zurückzugeben.
Gruß
-
Du hast kein Handel, ist deine Funktion getLastConnection() wirklich ne statische der Klasse? Denn diese scheint dir nicht das richtige zurückzugeben
Ich bin ehrlich gesagt kein Experte in so was aber:
In meiner Connect.h:#pragma once #include <afx.h> #include <afxwin.h> #include <afxinet.h> #include <stdio.h> class Connect { public: Connect(void); static CFtpConnection * Connect::getLastConnection(); static CFtpConnection *connection_pointer; public: ~Connect(void); };Connect.cpp:
CFtpConnection* Connect::connection_pointer=NULL; Connect::Connect(void) { .... try { //FTP-Verbindung wird eröffnet,Methode GetFtpConnection wird auf session angewandt, //connection wird auf zurückgegeben Zeiger gesetzt if(connection = session.GetFtpConnection(pstrServer, login, passwd, port, bPassive)) { cout << "Verbindung wurde aufgebaut\n"; connection_pointer=connection; } } //Fehleroutine catch (CInternetException* pEx) { cout<<"FEHLER : "<<GetLastError()<<endl; TCHAR sz[1024]; pEx->GetErrorMessage(sz, 1024); printf_s("ERROR! %S\n", sz); pEx->Delete(); } cout << "Test Konstruktor von Connect erfolgreich\n"; } Connect::~Connect(void) { } CFtpConnection * Connect::getLastConnection() { return connection_pointer; }
-
Wirst du wohl mal mit dem debuger durchgehen müssen und schauen ob du den CFtpConnection Pointer auch bekommst (also ob der gültug is).
Gruß
-
Wirst du wohl mal mit dem debuger durchgehen müssen und schauen ob du den CFtpConnection Pointer auch bekommst (also ob der gültug is).

Wie stelle ich das den konkret an?