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

Вниз

Необходимость взаимного использования модулей   Найти похожие ветки 

 
Juice ©   (2005-07-19 20:06) [0]

Есть 2 модуля, первый - модуль формы (fm_unit), а второй модуль содержит код потока (thread_unit). Причем есть необходимость взаимного использования:

TQueryThread = class(TThread)
public
 form : TMyForm;

и

TMyFomr = class( TForm)
public
  thread : TMyThread;

Что вынуждает в разделе uses модуля fm_unit прописать thread_unit и наоборот, в uses модуля thread_unit прописать fm_unit. Получается Circular unit reference to ...
???


 
lexer ©   (2005-07-19 20:14) [1]

1.
unit thread_unit
interface
fm_unit


2.
unit thread_unit
implementation
fm_unit


 
Lexer ©   (2005-07-19 20:16) [2]

Sory, так:
1.
unit thread_unit
interface
fm_unit


2.
unit fm_unit
implementation
thread_unit


 
Juice ©   (2005-07-19 20:20) [3]

Ага, а описывать класс TMyForm тоже в разделе implementation ? Так не прокатит.


 
Anatoly Podgoretsky ©   (2005-07-19 20:31) [4]

Меняй дизайн


 
Юрий Зотов ©   (2005-07-20 05:27) [5]

> Juice ©   (19.07.05 20:06)

Как это ни может показаться странным, но совет [4] очень даже верный. Скажем, можно включить поток в юнит формы.

Другой вариант - делать более общие ссылки. Например:
Не form: TMyForm, а form: TForm.
Или не thread: TMyThread, а thread: TThread.

И потом пользуемся приведением типов (там, где потребуется).

Вот два варианта. Выбирать - Вам.


 
REA   (2005-07-20 11:02) [6]

1) вынести часть в третий юнит
2) использовать переменные с обычными классами (в т.ч. TForm) - что по сути сводится к (1)



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

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

Наверх





Память: 0.45 MB
Время: 0.062 c
1-1121770998
TButton
2005-07-19 15:03
2005.08.07
запись в файл


3-1119615399
Xmen
2005-06-24 16:16
2005.08.07
InterBase стандартные компоненты


1-1121460215
ronyn
2005-07-16 00:43
2005.08.07
Как работать с INI файлами?


1-1121440987
lookin
2005-07-15 19:23
2005.08.07
Где должен оказаться Splitter?


4-1118046120
Андрей Жук
2005-06-06 12:22
2005.08.07
Как перечислить потоки, которые привязаны к процессу?





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