try
{
pConnect = sess->GetFtpConnection(ftpArgs.host, ftpArgs.userName, ftpArgs.password, port, FALSE);
}
catch (CInternetException* pEx)
{
loginErrCode = GetLastError();
printf("loginErrCode: %d\n", loginErrCode);
if(loginErrCode == 12013)
{
printf("Incorrect user name!\n");
exit(0);
}
else if(loginErrCode == 12014)
{
printf("Incorrect password!\n");
exit(0);
}
else if(loginErrCode == 12007)
{
printf("Incorrect server name!\n");
exit(0);
}
else //display all other errors
{
TCHAR sz[1024];
pEx->GetErrorMessage(sz, 1024);
printf("ERROR! %s\n, sz);
pEx->Delete();
exit(0);
}
의도적 인 잘못된 사용자 이름으로 Visual Studio에서이 코드를 실행하면 GetLastError()가 12014 (예상)를 반환합니다.GetLastError()가 디버그 대 "정상"실행 중 다른 코드를 반환하는 이유는 무엇입니까?
그러나 GetLastError()는 2를 반환합니까? (GetErrorMessage()은 잘못된 암호를 반환합니다.)
차이점을 이해할 수 없습니다.
또한 디버깅을 위해 Visual Studio에서 프로세스를 연결하는 동안 명령 줄에서 프로그램을 실행했습니다. 나는 디버거가 관련 될 때마다 나도 같은 매개 변수를 "보통"실행 파일을 실행하면, 나는 내가 실행할 때 2.
는 WinInet이 오류 코드가 발견되지 않는 얻을 12014.을 얻을
12014.을 받았다 디버거 외부의 프로그램? 프로그램을 다르게 컴파일해야합니까?
도움을 주시면 감사하겠습니다. 고맙습니다.
m_dwError (http://msdn.microsoft.com/en-us/library/29tbaeyz%28VS.80%29.aspx) 대신 작동합니다. 감사. –