Вниз
Скачать: CL | DM;

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

 
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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
2-1187415122
actis
2007-08-18 09:32
2007.09.09
Как описать выделение мышью на рисунке?


3-1178986882
olevacho_
2007-05-12 20:21
2007.09.09
Узнать дату на сервере


2-1187179843
Alex8
2007-08-15 16:10
2007.09.09
TCheckListBox


11-1168887227
Katya
2007-01-15 21:53
2007.09.09
избирательный OwnerDraw


15-1186646028
Andy BitOff (ppc)
2007-08-09 11:53
2007.09.09
Футболки !?




   Наверх