Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.059 c
2-1187124924
Евгений Р.
2007-08-15 00:55
2007.09.09
ввод tDateTimePicker


4-1173536327
Альберт
2007-03-10 17:18
2007.09.09
поймать событие перерисовки РЕГИОНА ПОД конкретным окном


2-1187553240
C0derr
2007-08-19 23:54
2007.09.09
Как сделать картинку в фрейме неподвижной при вертик. прокрутке?


2-1187263881
gentos
2007-08-16 15:31
2007.09.09
закрытие fsMDIChild формы


2-1187296490
new_imat
2007-08-17 00:34
2007.09.09
проблема с алгоритмом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский