Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];

Вниз

Приоритет IdFTP   Найти похожие ветки 

 
Pavelkq   (2005-05-05 14:26) [0]

Написал программу синхронизации удаленного сервера ФТП с локальной папкой. На моей тачке работает ничего так. А когда запустил эту штуку на сервере, все юзеры отвалились и все базы стали недоступны пока не закрыл прогу. Вешалка происходит на том месте, где идет команда
IdFTP1.Get("RemoteFileName","LocalFileName",True);
Вообще, сама программа работает хорошо, все скачивает, что надо и красиво завершается, но во время ее работы все остальное становится мертным. Что делать?


 
TUser ©   (2005-05-05 14:32) [1]

Приоретет процессу/потоку выставлять пониже???


 
Pavelkq   (2005-05-05 15:07) [2]

Так я никаких потоков не организовывал. Пишу на форм.крейте конект и гет. и все. Вообще, эта проблема у меня была не только с этой программой. Например, если я делаю серьезные операции с массивами (сравнение с сортировкой), то тоже все вешается. При этом форма сама тоже замирает (на ней ничего не отображается и ничего не работает). Я, конечно на сервере в диспетчере задач понизил приоритет, но как бы это сделать корректно? Как-то я грузил вордовский файл в массив через поток, там ничего не тормозило. Может правда потоком скачивать файлы? А нельзи ли пример, как это организовать? Я не силен в потоках.


 
Cobalt ©   (2005-05-05 15:07) [3]

А от какого пользователя работает прога?


 
Pavelkq   (2005-05-05 15:08) [4]

Прога от администратора.


 
Cobalt ©   (2005-05-05 15:29) [5]

я просто помню, есть при установке такая фишка, ограничение на количество подключений...


 
Layner ©   (2005-05-05 15:41) [6]

ПРосто все операции с файлами и т.п. надо делать в отдельном потоке.


 
Pavelkq   (2005-05-06 06:49) [7]

Ребята, пришлите, пожалуйста пример, как эти потоки организовать?


 
Digitman ©   (2005-05-06 11:16) [8]

(%DELPHI)\Demos\Threads\thrddemo.dpr


 
Pavelkq   (2005-05-06 14:19) [9]

Вот нашел как процесс создавать.
unit uMonThread;

interface

uses
 Classes, windows, SysUtils;

type

 TMonDirThread = class(TThread)
 private
   FPath: String;                    //Проверяемый каталог
 protected
   procedure Execute; override;
 public
   constructor Create(aPath: String);
 end;

implementation
uses
 ufMain;

constructor TMonDirThread.Create(aPath: String);
begin
 inherited Create(True);     //Созданный поток создается в приостановленном состоянии
 FreeOnTerminate := True;    //Поток освободит ресурсы при окончании работы
 FPath := aPath;            //Проверяемый каталог
 Self.Priority := tpHighest; //Очень высокий приоритет
 Resume;
end;

procedure TMonDirThread.Execute;
var
 HandleChange: THandle;  //Handle создаваемого объекта для ожидания события
begin

 HandleChange :=
   FindFirstChangeNotification(
     PChar(FPath),                           //Проверяемый каталог
     False,                                  //Подкаталоги не проверяются
     FILE_NOTIFY_CHANGE_FILE_NAME +          //Проверка создания/удаления/
     FILE_NOTIFY_CHANGE_ATTRIBUTES);         //переименования/изменения файлов

   while not Terminated do
   begin
     case WaitForSingleObject(HandleChange,1000) of
       WAIT_FAILED: Terminate;                //Ошибка, завершаем поток

     end;
   end;
end;

end.

Но там был тим Handle, а у меня Cardinal (выделил жирным). Как это сделать?


 
Pavelkq   (2005-05-06 14:54) [10]

... т.е. мне надо создать процесс для команды IdFTP1.Get("RemoteFileName","LocalFileName",True);



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.013 c
4-1119418092
Progh
2005-06-22 09:28
2005.08.14
Как перевести вывести компьютер в спящий из спящего режим(а)


4-1118573861
Juk
2005-06-12 14:57
2005.08.14
Обработка WM_NCACTIVATE.


5-1093066931
kdy
2004-08-21 09:42
2005.08.14
как узнать, есть ли у компонента некое свойство


1-1122455645
Begin
2005-07-27 13:14
2005.08.14
TPanel и Canvas. Можно ли рисовать по TPanel ?


4-1118690640
S.T.O.R.M.
2005-06-13 23:24
2005.08.14
Com-port





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский