Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

Проблемы с потоками   Найти похожие ветки 

 
Homyak_Max   (2004-07-13 18:39) [0]

Для рассылки по нескольким Ftp создается несоколько потоков.

with UploadFile.Create(true) do
begin
//передача необходимых параметров
 FreeOnTerminate:=true;
 Execute;
//Resume;
end;
Причем если ставить Execute то потоки все равно вызываются создаются последовательно, если же ставить Resume, то начинает вылетать ошибка Abstract Error. В не зависимости от того, какой код вообще находится в методе Execute

Кто с таким сталкивался помогите чем можете %)


 
Тимохов ©   (2004-07-13 18:41) [1]

что такое UploadFile?


 
Reindeer Moss Eater ©   (2004-07-13 18:41) [2]

Execute вызывать не надо.
Не надо создавать экземпляров абстрактных классов.


 
Семен Сорокин ©   (2004-07-13 18:45) [3]


> Homyak_Max   (13.07.04 18:39)  

убери Execute, расскоментарь Resume.


 
Тимохов ©   (2004-07-13 18:45) [4]


> убери Execute, расскоментарь Resume.

и ответь, что такое uploadfile :))))))


 
Reindeer Moss Eater ©   (2004-07-13 18:46) [5]

Интересно какой смысл во вторичном потоке, у которого метод Execute вызван из главного потока и стало быть выполняется там же. В основном потоке.
И как несколько экземпляров таких Threads могут работать параллельно?

Никак.


 
Digitman ©   (2004-07-13 18:52) [6]


> Homyak_Max


Execute() - это обыкновеная подпрограмма.. и Create() - тоже по сути обыкновенная подпрограмма
а некая процедура, будучи вызванной в некоем кодовом потоке, в соответствии с концепцией Win32 будет выполнена в контексте того код.потока, который вызвал эту подпрограмму к выполнению

пляши от этих постулатов ... и - первый плюс в помощь - исх.тексты класса TThread в модуле Classes.pas


 
Homyak_Max   (2004-07-13 19:07) [7]

Uploadfile - наслденик  Thread.
Я и сам понимаю, что Execute вызывать не надо.. но если раскоментарить, то начинает вылазить постоянно ошибка  Abstract Error


 
Reindeer Moss Eater ©   (2004-07-13 19:09) [8]

Не надо создавать экземпляров абстрактных классов.


 
Тимохов ©   (2004-07-13 19:09) [9]

тело execute на бочку.


 
Reindeer Moss Eater ©   (2004-07-13 19:13) [10]

Лучше объявление execute


 
Reindeer Moss Eater ©   (2004-07-13 19:14) [11]

Хотя там скорее всего inherited Execute делается.
Иначе бы уже при вызове конструктора ругань была, а не при resume


 
Тимохов ©   (2004-07-13 19:19) [12]


> Иначе бы уже при вызове конструктора ругань была

с чего это?
если suspended, то к execute обращения нет, а следовательно и нет ошибки.

АВТОРУ.
А предыдущий оратор похоже прав! Вы забыли написать override около execute.


 
Reindeer Moss Eater ©   (2004-07-13 19:21) [13]

Создание экземпляра класса имеющего абстрактные методы карается генерацией исключения.

Я сначала подумал что у него Execute абстрактный, потом понял, что этого не может быть.


 
Тимохов ©   (2004-07-13 19:22) [14]


> Reindeer Moss Eater ©   (13.07.04 19:21) [13]


> методы карается генерацией исключения.

да ну?


 
Тимохов ©   (2004-07-13 19:22) [15]

предупреждением это карается.


 
Семен Сорокин ©   (2004-07-13 19:23) [16]


> Reindeer Moss Eater ©   (13.07.04 19:21) [13]
> Создание экземпляра класса имеющего абстрактные методы карается
> генерацией исключения.

неа, просто ворнингом это карается, только некоторые на них внимание не обращают.


 
Семен Сорокин ©   (2004-07-13 19:23) [17]

точно, Override забыл
2Homyak_Max  
давай не тяни, в чем трабла? :))


 
Тимохов ©   (2004-07-13 19:24) [18]

ошибка похоже найдена, пусть автор еще подтвердит.


 
Reindeer Moss Eater ©   (2004-07-13 19:28) [19]

В любом случае у него вызывается унаследованный Execute
Или забыл override или явно вызывал inherited.


 
Igorek ©   (2004-07-13 19:37) [20]


> Homyak_Max   (13.07.04 18:39)  

А каким компонентом для ФТП ты пользуешься?


 
Homyak_Max   (2004-07-14 00:01) [21]

Всем спасибо.. Проблема действительно была в том, что не был дописан override в обїявлении класса



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

Текущий архив: 2004.07.25;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.021 c
14-1089303768
Sergey Kaminski
2004-07-08 20:22
2004.07.25
MemProof


1-1089203408
dosik
2004-07-07 16:30
2004.07.25
Двумерные массивы в испекторе объектов


14-1089057114
DeadMeat
2004-07-05 23:51
2004.07.25
Расписание


14-1089241546
Almaz
2004-07-08 03:05
2004.07.25
IDE среды под QNX 6.x


6-1085736941
Turbid
2004-05-28 13:35
2004.07.25
Проверка последнего изменения страницы без закачки?