Вниз
Скачать: 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.013 c
2-1186131708
GhosTer
2007-08-03 13:01
2007.09.09
String To PAnsiChar


15-1186674765
@!!ex
2007-08-09 19:52
2007.09.09
Как убрать звук?


2-1187003328
Евгений Р.
2007-08-13 15:08
2007.09.09
Анализ изменений в триггере


3-1178904669
Dmitry_177
2007-05-11 21:31
2007.09.09
SQL запрос


15-1186998966
sapsi
2007-08-13 13:56
2007.09.09
Установка Indy компонент




   Наверх