Форум: "Начинающим";
Текущий архив: 2007.09.09;
Скачать: [xml.tar.bz2];
ВнизПотоки Найти похожие ветки
← →
wesel © (2007-08-17 00:17) [0]Создал ПРогу для поиска в ЕКселе, но чтобы прога не грузила систему перевел к потоку, все процедуры вывода и нформации описал на форме где находятся элементы вывода данных, а сам поиск описал в модули потока в процедуре Execute Вообщем так :
procedure findthread.Execute;
на выделеную строку
var
book,sheet,find,rows:integer;
range:variant;
str:array [0..7] of string;
fnd:boolean;
begin
while not Terminated do
begin
.....
Synchronize(find1.PosBook(e.activeworkbook.name,book)); ......
end;
end;
выдает ошибку"[Error] ThreadFind.pas(52): Incompatible types: "TThreadMethod" and "procedure, untyped pointer or untyped parameter""
не могу понять в чем дело в потоках не силен, только в них разбираюсь. было пару примерчиков, по ним разбирался !
← →
Германн © (2007-08-17 00:39) [1]По поводу данной ошибки ничего не скажу. Читай хелп по Synchronize (наверно так).
Но по поводу
> но чтобы прога не грузила систему перевел к потоку
ты идёшь неверной дорогой не к ночи будь упомянутого Архангельского. :)
← →
umbra © (2007-08-17 01:40) [2]
> hreadFind.pas(52): Incompatible types: "TThreadMethod" and
> "procedure, untyped pointer or untyped parameter""
в Synchronize надо передавать процедуру без параметров
← →
wesel © (2007-08-17 01:46) [3]Сдесь на сайте многие советовали Перевести в поток. Я не мог контролировать процес поиска, пока не закончиться список для поиска, а приходилось искать по 300 значений за раз, прога работает , только когда она работает , ничего другого нормально не функционирует, а из под стола страный запах смазки.
так вот решил перевести все в поток., если тебе не сложно скажи что ты имеешь ввиду, по поводу Архангельского .
> ты идёшь неверной дорогой не к ночи будь упомянутого Архангельского.
> :)
просто нет у меня его книг, если есть ссылка , буду благодарен!!!!
буду рад узнать как можно по другому реализовать такую задачку.
А по поводу потоков - Просто хотел бы разобраться что к чему!!
← →
umbra © (2007-08-17 02:00) [4]
> в Synchronize надо передавать процедуру без параметров
и которая является методом findthread
← →
wesel © (2007-08-17 02:30) [5]
> и которая является методом findthread
Тоесть была описана в классе потока, ну я так тоже сначала думал, потом в примерчике который у меня есть, я обнаружил что это необязательно.
примерчик фурычит вполне!
вот я и подумал что необязательно, а поповоду параметров , это конечно интересно!!!
← →
Германн © (2007-08-17 02:46) [6]
> так вот решил перевести все в поток., если тебе не сложно
> скажи что ты имеешь ввиду, по поводу Архангельского .
В Synchronize нужно поместить только то, что связано с "визуальными компонентами" VCL. То что помещено в вышеупомянутый метод выполнфется в основном потоке.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.09.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.042 c