|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.10.2010, 18:42 | #11 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
я не знаю что вы наворотили в execute.
но предпологаю что дело в sl, ибо он общий на все потоки. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
28.10.2010, 18:59 | #12 |
Форумчанин
Регистрация: 31.10.2008
Сообщений: 500
|
Код:
Код:
Код:
Skype : UASm1Le.
|
28.10.2010, 19:12 | #13 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
и что с того?
обьект то у вас всего один, а именно тот что создан перед циклом. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
29.10.2010, 13:10 | #14 |
Форумчанин
Регистрация: 31.10.2008
Сообщений: 500
|
Как бы нет, я закинул и "Список" в массив, далее наварганил очень дурацкий код, с целью проверки моей гипотезы что новое место в памяти под новый поток оно не выделяет. и собственно подтвердил это. Вопрос остался прежний. При вызове я создал 1 поток, или Шаблон потока, и при вызове create(true) должно было выделять пространство в ПАМЯТИ. Хотя стоп ... при вызове create(true) - оно может и выдилело мне память но доступ к переменным я имею раньше - отсюда вывод что я создаю их еще раньше. Но почему ?!?!?! - не понимаю. Самый 1 способ это описать переменные в теле Execute, и написать некую другую процедуру которая бы забирала сама значения переменных из главного потока(формы1).
Кто что скажет ? =((
Skype : UASm1Le.
|
29.10.2010, 19:44 | #15 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
вы так и не исправили конструктор?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
29.10.2010, 20:49 | #16 |
Форумчанин
Регистрация: 31.10.2008
Сообщений: 500
|
конструктор исправил ... Сейчас глюк в другом ... код выложу только в понедельник ... процессы запускаются ... работает ....
Но в 50 %, запуска программы, оно виснет.(в момент переноса файла) Хотя элемент ФТП не отключается, а поток не завершается. НЕ могу понять так как когда трассируется то все ок. как запускаеш на выполнение. Иногда,часто, виснет.
Skype : UASm1Le.
|
30.10.2010, 14:26 | #17 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ошибки:
1)один компонент idFTP на всех(у каждого должен быть свой) 2)один стринглист на всех(как я и говорил) 3)плохая работа с компонентами(нужно использовать синхронизацию) кстати стандартный комментарий пустого модуля формы Делфи об этом говорит. мой вам совет кстати, протестируйте просто создание одного потока(паралельно главному) а лишь потом плодите эти потоки в массу. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Stilet; 30.10.2010 в 15:23. |
01.11.2010, 09:08 | #18 |
Форумчанин
Регистрация: 31.10.2008
Сообщений: 500
|
толи я как - то не так сказал толи вы меня не поняли.
вот из главной формы Код:
Код:
Код:
Код:
с Одним потоком все ок .... даже с двумя ... а вот если уже больше то где то все равно баг ... единственное что одинаково и там и там это переменная, счетчик в цикле. и дурацкое присвоение i-> x:=i -> i:=x;... Но как без него х3 ... разве что написать еще одну мини функцию по возврату значения ... так как я сейчас передаю все остальные параметры ... но это бред ... не может быть все печально с потоками и передачей в нее информации.
Skype : UASm1Le.
Последний раз редактировалось Stilet; 01.11.2010 в 10:01. |
01.11.2010, 09:28 | #19 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
1.
Код:
2. Код:
3. Смотрю на код, к сожалению понять то что вы там написали не возможно. Главная проблема всего вашего кода, это то, что вы впихнули код вашего потока в модуль с формой, и все наворотили через переменную экземпляра вашей формы + прямое обращение к UI (уже говорил) в потоке. 4. Уберите все массивы из формы, у вас массив потоков, просто задайте для каждого потока свой StringList, и создавайте его при создании потока, и удаляйте при удалении потока. Аналогично другие переменные нужные каждому потоку. В итоге у вас в классе форме, будет только список потоков и ничего лишнего. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |