Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];

Вниз

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

 
Граф   (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 вся ветка

Форум: "Основная";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.011 c
3-101060
MystiX
2002-10-12 15:30
2002.10.31
Передача данных


8-101380
kaif
2002-07-03 13:27
2002.10.31
OpenGL. Как восстановить 3D сцену из срезов?


4-101572
Rasa
2002-09-18 04:01
2002.10.31
Как же все-таки в win98 изменить ресурсы?


1-101229
Shadow
2002-10-21 19:37
2002.10.31
Обратная операция к операции chr();


14-101490
Странник
2002-10-07 11:15
2002.10.31
HUB vs SWITCH





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский