TIdFTP를 사용하는 앱이 Delphi 5에서 Delphi 2009로 마이그레이션되지 않습니다…손상된 업로드

StackOverflow https://stackoverflow.com/questions/1455629

  •  12-09-2019
  •  | 
  •  

문제

나는 TIdFTP를 사용하는 Delphi 5 앱을 작성했습니다.그것은 수년 동안 훌륭하게 작동해 왔습니다.유일한 목적은 Excel 파일을 업로드하는 것입니다.

object ftp: TIdFTP
  OnStatus = ftpStatus
  IPVersion = Id_IPv4
  AutoLogin = True
  Host = 'somewhere.ca'
  Passive = True
  Password = 'guess'
  TransferType = ftBinary
  Username = 'xray'
  ProxySettings.ProxyType = fpcmNone
  ProxySettings.Port = 0
end

컴퓨터를 다시 로드한 후 최근에 delphi 2009로 마이그레이션했는데 이제 delphi 5가 사라졌습니다.

앱은 여전히 ​​작동하는 것처럼 보이지만 대부분의 경우 1.5MB 파일에서 파일이 손상됩니다.바이트가 삭제되고 업로드된 파일이 원본보다 짧은 것 같습니다(약 200바이트).

첫 번째 생각은 전송 유형이어서 바이너리로 설정했지만 그 이상은 모르겠습니다.

어떤 아이디어가 있나요?

감사합니다!mp

도움이 되었습니까?

해결책

어떤 인디 버전을 사용하고 있나요?최신 버전을 사용해 보셨나요?
또한 다른 유형의 파일(일반 텍스트, 실행 파일...)을 사용해 보셨나요?

다른 팁

Delphi 5와 Delphi 2009의 큰 차이점은 Delphi 2009가 유니코드를 사용한다는 것입니다.어쩌면 유니코드와 유니코드가 아닌 코드를 혼합하고 있는 것일까요?예를 들어 ASCII를 수신하지만 UTF8처럼 ​​취급합니까?

당신처럼 내 첫 번째 생각은 전송이 바이너리로 발생하지 않는다는 것입니다 ...파일 이름을 변경하면 문제가 해결된다는 후속 조치를 고려할 때 이는 가능성이 더 높은 것 같습니다.FTP 대화를 추적하는 데 사용할 수 있는 패킷 스니퍼가 있습니까?그렇게 하면 모드가 올바르게 설정되었는지 확인할 수 있습니다.

-두목

Delphi 5에는 Indy 구성 요소가 이미 설치되어 있지 않습니다.따라서 직접 다운로드하여 설치해야 합니다.나는 그것을 작동시키지 못했습니다.이제 저는 Delphi 7을 사용하고 있으며 이미 사전 설치되어 있습니다.그래서 저는 인디에 대해 문제가 있었던 적이 없습니다.다운로드해서 사용할 때만 해당됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top