|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.10.2010, 13:26 | #1 |
Форумчанин
Регистрация: 31.10.2008
Сообщений: 500
|
Thread : Не получается многопоточность .
и так суть задачи не обязательна. Но она раскидка с ФТП сервера на локальные машины файлов.
Я создал свой шаблон потока. Название fromFTp. и перегрузил функцию Create. Код:
Код:
из видимых проблем : 1)я когда создаю поток, создаю его с параметром True тоесть в состояние Suspend(приостановленым), далее руками вызываю Execute. По логике мне надо вместо execute написать resume. Но тогда у меня в тело Execute даже не заходит. Хотя должно было ... Execute у меня описан в теле потока как : Код:
Skype : UASm1Le.
Последний раз редактировалось Sm1Le; 28.10.2010 в 13:51. |
28.10.2010, 14:02 | #2 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
И Цитата:
I'm learning to live...
|
||
28.10.2010, 14:26 | #3 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
Цитата:
программа — запись алгоритма на языке понятном транслятору
|
||
28.10.2010, 15:17 | #4 |
Форумчанин
Регистрация: 31.10.2008
Сообщений: 500
|
ну собственно, я ничего такого там не сделал ... я перегрузил Сreate, для передачи информации в поток. А далее в вызвал стандартный метод Сreate с параметром тру.
По повду Resume. Не понимаю почему у меня программа не хочет после команды Resume продолжать работу, функцией Execute. К примеру взял создал еще поток, Файл-Новый-Поток. Перегрузил Create Написал в Execute ShowMessage('1'); запустил с параметром false; - Все ок ... пошел запускаться процесс Execute. Не понимаю ... если я ничег не менял ... то почему у меня после resume ничего не происходит. Там надо Resume. Написал. Зашел в процедуру, нажал f4, и о чудо программа заходит в процедуру. но на выполнение Get, компонента IdFTP, поток обрывается без всяких ероров. лана ща еще поищем что у меня не так... SYnchronize - Знаю, надо, но пока не буду утруждать и без того не работающий код. Код:
Skype : UASm1Le.
Последний раз редактировалось mihali4; 28.10.2010 в 23:09. Причина: Дописал |
28.10.2010, 15:48 | #5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
28.10.2010, 15:51 | #6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Не стоит так делать ИМХО...
I'm learning to live...
|
|
28.10.2010, 16:02 | #7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
можно так делать спокойно, главное не забывать вызывать конструктор через inherited
такое очень полезно когда делаешь специфические потоки и хочешь чтоб они спокойно вписывались в массив TThread(или же не умеем самостоятельно делать потоки) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
28.10.2010, 16:32 | #8 |
Форумчанин
Регистрация: 31.10.2008
Сообщений: 500
|
можно ли создать 2 потока типа FromFTP(в моем случае) одновременно ?
Ошибки исправил. Спасибо.
Skype : UASm1Le.
|
28.10.2010, 16:37 | #9 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
да можно, ваш цикл это и делал.
правда изза кривого конструктора он делал не правильно это. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 28.10.2010 в 16:39. |
28.10.2010, 18:37 | #10 |
Форумчанин
Регистрация: 31.10.2008
Сообщений: 500
|
и так ....
Получается когда я цикл отменяю, выполняю только к примеру i=1, то все ок, как только делаю цикл хотя бы из двух элементов ошибка, ошибка доступа к файлу. Другими словами по моей логике, у меня когда запускается "2 поток" он накрывает 1, и они оба обращаются по одним и тем же путям. Проверено при помощи ShowMessage. =)))))) скажем так эти потоки вообще не должны встречаться, в параметрах у них указаны разные директории, как те что на фтп, так и те куда копировать. Если выполнить любой из потоков отдельно, то все работает. Кто че скажет ? ... не понимаю ...
Skype : UASm1Le.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Thread в Windows From Application | Flay | Windows Forms | 7 | 24.08.2010 21:28 |
Thread и элементы формы. | divers | Общие вопросы .NET | 4 | 20.04.2010 18:56 |
Thread | Cpluser | Общие вопросы .NET | 6 | 30.03.2010 23:32 |
thread вешает приложение | amaroktmb | Общие вопросы Delphi | 9 | 12.01.2010 23:06 |
Проблема с Thread | Arnezami | Общие вопросы .NET | 2 | 04.10.2009 22:08 |