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

совсем немного вроде осталось, и - на тебе...   Найти похожие ветки 

 
Граф ©   (2002-10-21 22:15) [0]

Thread поместил в отдельном юните (исключительно для наглядности и красоты), но теперь в процедуре вызываемой методом Synchronize отказвыается понимать переменную MainForm, оставшуюся, понятно в другом юните. Если поставить ссылку на юнит с MainForm в uses юнита-потока, то возникает циклическая ссылка (юнит с MainForm ссылается на юнит-поток и правильно делает :) ).
Можно создать еще один юнит, конечно, но это как-то не очень красиво.
По идее задача банальная, должно быть, соответственно, банальное решение. Но его пока нет :).


 
Граф ©   (2002-10-21 22:20) [1]

Да, вот что еще интересно.
Юнит-поток я создавал через New->Thread Object В созданном юните была такая запись
{ Important: Methods and properties of objects in VCL or CLX can only be used
in a method called using Synchronize, for example,

Synchronize(UpdateCaption);

and UpdateCaption could look like,

procedure CopyFile.UpdateCaption;
begin
Form1.Caption := "Updated in a thread";
end; }

То есть, вроде так и должно работать, но у меня вот не хочет. Конечно это я где-то набардачил, но вот где?


 
TTCustomDelphiMaster ©   (2002-10-21 22:27) [2]

Добавляйте uses в implementation

implementation
uses unit1{MainForm};


 
Граф ©   (2002-10-21 22:33) [3]

вопрос снимется, все работает, позор на мою седую бороду


 
VaS ©   (2002-10-22 09:11) [4]

Иметь перекрестные ссылки не есть хорошо. Лучше в модуле с нитью сделать глобальную переменную - указатель на метод (...of object) без параметров, а в модуле с формой в initialization присваивать ей метод формы.


 
Smithson ©   (2002-10-22 09:38) [5]

Иметь перекрестные ссылки ЕСТЬ хорошо, поскольку перекрестными и ссылками они выглядядт только на уровне языка, а после трудов компилятора будет просто общая область видимости (односторонняя).



Страницы: 1 вся ветка

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



Память: 0.46 MB
Время: 0.008 c
1-101375
REA
2002-10-21 11:39
2002.10.31
CS_OWNDC


3-101079
NewAl
2002-10-14 08:54
2002.10.31
DBGrid


3-101086
ttt
2002-10-03 14:14
2002.10.31
Кодировка paradox3.5 таблицы


4-101584
Super
2002-09-19 22:51
2002.10.31
Application.Handle других процессов


6-101421
Zelius
2002-08-28 11:32
2002.10.31
TidHTTP или TNMHTTP ? Одскажите по опыту!




   Наверх