특정폴더를 감시하고 있다가 그 폴더에 파일이 들어오면
파일에 수정을 가하고 다시 저장하 원본파일을 삭제를 하는 프로그램을 하는데요..
SHChangeNotify란 폴더감시 컴포넌트를 이용하여 폴더감시를 합니다.
그런데 파일 한개만 작업시에는 제대로 작업이 이루어 지는데..
여러개의 파일을 동시에 복사했을때에는 첫번째 파일만 작업이 이루어지고
에러가 나더군여...
동시에 여러개의 이벤트가 일어나서 그러는거 같은데여..
해결방법을 모르겠습니다..
아래와같이 가장위에 메세지박스를 입력해 놓으면..
여러파일복사시시에 메세지버튼 하나씩 누르면서 모든파일이 작업 가능한데 말이죠..그런데 메세지박스를 쓰면 안되거든요..
아무 것두 없이 그냥 작업만 이루어지게 하고 싶은데요...꼭좀 부탁드릴께요.
아시는 만큼이라도 알려주시면 감사하겠습니다..
지겨운글 읽어주셔서 다시한번 감사드립니다...꾸벅..
procedure TForm1.SHChangeNotify1Create(Sender: TObject; Flags: Cardinal;
Path1: String);
begin
showmessage(path1); // 요부분을 추가하면 에러가 나질않습니다.
if UpperCase(copy(path1,1,7)) = UpperCase('E:test') then
begin
ListBox1.Items.Add(Path1);
working(path1); // 작업내용이 있는 프로시져
listbox2.Items.Add(path1+'.zip <== 완료');
end // if
else
begin
ListBox2.Items.Add(Path1); //특정폴더이외에 파일생성시 로그
end;
end;