zrobilem sobie programik do kopiowania folderów procedura kopiująca to to

procedure TForm1.CopyFolder;
var FOS:TSHFileOpStructA;
begin
with FOS do
begin
  Wnd:=Handle;
  wFunc:=FO_COPY;
  pFrom:=PAnsiChar(katalogFrom + '\*.*');
  pTo:=PAnsiChar(katalogTo + '\');
  fFlags:=FOF_NOCONFIRMATION + FOF_SILENT + FOF_ALLOWUNDO or FOF_NOCONFIRMMKDIR;
  lpszProgressTitle:='Kopiowanie...';
  fAnyOperationsAborted:=False;
end;
if SHFileOperation(FOS)<>0 then
  ShowMessage('Wystąpił błąd podczas kopiowania')
else
  if FOS.fAnyOperationsAborted then
   ShowMessage('Kopiowanie zostało przerwane');
end;

przy czym katalogFrom i katalogTo to zmienne tymu string.

do tego mam jescze doloczony komponent do ukrywania programu w Tray'u

program dobrze dziala caly czas ale jesli dam go do tray'a to po dluzszym czasie wywala bląd ze nie znaleziono pliku albo dysk jest uszkodzony , tak samo jest tez wtedy gdy dam pare razy program do tray'a i z powrotem go pokarze

czy mozliwe ze zmienne czyszczą się same gdy chowam program do tray'a??

tutaj link do programu mojego :) http://www.republika.pl/laggy/kopiarka.zip

a tutaj do komponentu do tray icona
http://www.republika.pl/laggy/Borland.zip

z gory dzieki za jakiekolwiek odpowiedzi<url></url>

EDIT: wlasnie dokladnie przetestowalem program i ten błąd pojawia sie wtedy gdy dam programik do tray'a a potem go wyswietle znowu to wlasnie wtedu sie bląd pojawia bo w tray'u nie ma bleda jest dopiero jak go 'wyciogne' z tray'a