C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[67913] Re:Re:Indy FTP Server 사용중 리스트 디렉토리 질문드립니다.
책방전설 [] 1894 읽음    2012-08-04 18:20
알려주신 다음부분에 메소드가 존재하지 않습니다.

pItem->OwnerName = "anonymous";
pItem->GroupName = "all";
pItem->OwnerPermissions = "---";
pItem->GroupPermissions = "---";
pItem->UserPermissions = "---";

제가 빌더 2010을 사용하는데 혹시 indy 버전차이때문일까요???

-----------------------------------------------------------------------

Starlet 님이 쓰신 글 :
: 원인이 뭔지 정확히는 모르겠지만,
: 다음을 추가해 보시기 바랍니다.
:
: pItem->OwnerName = "anonymous";
: pItem->GroupName = "all";
: pItem->OwnerPermissions = "---";
: pItem->GroupPermissions = "---";
: pItem->UserPermissions = "---";
:
: 이렇게 5개가 빠졌는데 혹시 이것 때문일 수도 있으니 저런식으로 임의로 값을 넣어서 추가해 보시고,
:
: 문제가 한가지 보이는것이,
:
: sr.Size는 32비트 Integer값이라서 2기가 이상을 표시하지 못합니다.
:
: ULARGE_INTEGER li;
: li.LowPart = sr.FindData.nFileSizeLow;
: li.HighPart = sr.FindData.nFileSizeHigh;
:
: pItem->Size = li;
:
: 이렇게 넣어줘야 크기가 큰 파일도 제대로 표시됩니다.
:
:
: 책방전설 님이 쓰신 글 :
: : 제가 Indy FTP Server 컴포넌트를 사용해서 FTP server를 만들려고 하는고 있는데요.
: :
: : 서버생성을 해놓고 클라이언트에서 접속을 시도 하면 다음과 같이 에러나 나와서 해결방법좀 질문드려봅니다.
: :
: : -파일질라로 접속 했을때 다음과 같이 나옵니다.-
: : 상태:    192.168.10.20:21에 연결...
: : 상태:    연결 수립, 환영 메시지를 기다림...
: : 응답:    220 Indy FTP Server ready.
: : 명령:    USER Admin
: : 응답:    331 User name okay, need password.
: : 명령:    PASS ****
: : 응답:    230 User logged in, proceed.
: : 명령:    CLNT FileZilla
: : 응답:    200 Noted.
: : 명령:    OPTS UTF8 ON
: : 응답:    200 Ok
: : 상태:    연결됨
: : 상태:    디렉터리 목록 조회...
: : 명령:    PWD
: : 응답:    257 "/" is working directory.
: : 명령:    TYPE I
: : 응답:    200 Type set to I.
: : 명령:    PORT 192,168,10,20,8,133
: : 응답:    502 PORT/EPRT Command disabled.
: : 명령:    PASV
: : 응답:    227 Entering Passive Mode (192,168,10,20,67,112).
: : 명령:    MLSD
: : 오류:    연결 시간 초과
: : 오류:    디렉터리 목록 조회 실패
: :
: : 코딩부분
: : void __fastcall TForm1::IdFTPServer1UserLogin(TIdFTPServerContext *ASender, const UnicodeString AUsername,
: :           const UnicodeString APassword, bool &AAuthenticated)
: :
: : {
: :     Memo1->Lines->Add("UserLogin");
: :
: :     AAuthenticated = ((AUsername == "Admin") && (APassword == "1234"));
: :
: :     if (!AAuthenticated) {
: :         return;
: :     }
: :
: :     ASender->HomeDir = "./";
: :     ASender->CurrentDir = "/";
: :     Memo1->Lines->Add(ASender->Username + "이 접속하였습니다.");
: : }
: : /--------------------------------------------------------------------------
: : void __fastcall TForm1::IdFTPServer1ListDirectory(TIdFTPServerContext *ASender, const UnicodeString APath,
: :           TIdFTPListOutput *ADirectoryListing, const UnicodeString ACmd,
: :           const UnicodeString ASwitches)
: : {
: :     Memo1->Lines->Add("ListDirectory");
: :     TSearchRec      sr;
: :     TIdFTPListItem  *pItem;
: :     int             sri;
: :
: :     sri = FindFirst(APath + "/*.*", faAnyFile - faHidden - faSysFile, sr);
: :
: :     while (sri == 0)
: :     {
: :         pItem = ADirectoryListing->Add();
: :         pItem->FileName = sr.Name;
: :         pItem->Size = sr.Size;
: :         pItem->ModifiedDate = FileDateToDateTime(sr.Time);
: :
: :         if (sr.Attr == faDirectory)
: :             pItem->ItemType = ditDirectory;
: :         else
: :             pItem->ItemType = ditFile;
: :
: :         sri = FindNext(sr);
: :     }
: :
: :     FindClose(sr);
: :     Memo1->Lines->Add(ADirectoryListing->Count);
: : }
: :
: : 혹시 해결방법을 아시는분이 계시면 답변좀 부탁드립니다.

+ -

관련 글 리스트
67887 Indy FTP Server 사용중 리스트 디렉토리 질문드립니다. 책방전설 2113 2012/08/03
67900     Re:Indy FTP Server 사용중 리스트 디렉토리 질문드립니다. Starlet 1847 2012/08/03
67913         Re:Re:Indy FTP Server 사용중 리스트 디렉토리 질문드립니다. 책방전설 1894 2012/08/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.