Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.09;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.027 c
2-1187451030
RedBanner
2007-08-18 19:30
2007.09.09
отправка E-mail а


15-1186626194
Slider007
2007-08-09 06:23
2007.09.09
С днем рождения ! 9 августа 2007 четверг


9-1158998487
Новоуральск
2006-09-23 12:01
2007.09.09
Привет из Новоуральска:)


15-1186175537
alexlp
2007-08-04 01:12
2007.09.09
Как работает LanGame?


2-1186460092
bagos
2007-08-07 08:14
2007.09.09
teechart