powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Область видимости
17 сообщений из 42, страница 2 из 2
Область видимости
    #40099134
DmSer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
northener
softwarer
пропущено...

И сколько ты заплатишь за то, чтобы кто-то развеял твоё недоумение?

Ни одной копейки! :)
Меня и так всё устраивает. Но тот, кто что-то новое предлагает, должен убедить меня, что мне это нужно! :)


Это новое скоро сдуется окончательно. Под десктоп разрабатывать недальновидно, а под смартфоны непонятно как. Видимо автор юнигуя сам это практически не использует, а в основном прибыль считает.
...
Рейтинг: 0 / 0
Область видимости
    #40099175
patrick1968
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день. Получилось вызвать процедуру Proc1 из MainForm в DataModule путем указания имени модуля Main.MainForm.Proc1 вместо привычного MainForm.Proc1. В процедуре должен изменяться внешний вид объектов и если вызывать ее из другой формы, то всё нормально, а вот если из MainModule, то объекты не обновляются. Почему так происходит?
...
Рейтинг: 0 / 0
Область видимости
    #40099453
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
patrick1968,

что-то в коде у тебя не так...
...
Рейтинг: 0 / 0
Область видимости
    #40099524
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
swame2
И циклические ссылки между модулями это плохо

Чем же?
пример автора как раз сойдёт за пример почему нельзя (извиняюсь за тавтологию)
UniMainModule.GetFormInstance, я так полагаю, использует threadvar
...
Рейтинг: 0 / 0
Область видимости
    #40099595
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
пример автора как раз сойдёт за пример почему нельзя (извиняюсь за тавтологию)
UniMainModule.GetFormInstance, я так полагаю, использует threadvar

Какая связь? Любой код с циклическими ссылками можно переписать без циклических ссылок. В самом дурном случае - просто упаковывая всё в один модуль. И threadvar останется threadvar-ом, и GetFormInstance - GetFormInstance-ом. Но станет ли код от такого переписывания лучше? Мягко говоря - не факт.
...
Рейтинг: 0 / 0
Область видимости
    #40099623
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,

переписать - можно, и будет работать
не переписать - будет глючить

проблема в том, что не все модули могут корректно работать без инициализации
помещая подключение модуля в implementation вы "говорите компилятору", что вам неважно, инициализируется ли модуль или нет.
...
Рейтинг: 0 / 0
Область видимости
    #40099626
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
переписать - можно, и будет работать
не переписать - будет глючить

В кривых руках всё будет глючить.

kealon(Ruslan)
помещая подключение модуля в implementation вы "говорите компилятору", что вам неважно, инициализируется ли модуль или нет.

Удивительно, что вот уже 32 года, как я ему это "говорю", а он всё делает правильно и не создаёт проблем.
...
Рейтинг: 0 / 0
Область видимости
    #40099630
Michael Longneck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)помещая подключение модуля в implementation вы "говорите компилятору", что вам неважно, инициализируется ли модуль или нет.

А можно тут ссылку на документацию. Потому что для меня это мягко говоря новость. Хоть я не 32 года помещаю, но тоже не мало
...
Рейтинг: 0 / 0
Область видимости
    #40099639
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michael Longneck,

ну а как вы по другому сделаете?
либо исправляете ошибку, либо берете ответственность на себя
...
Рейтинг: 0 / 0
Область видимости
    #40099640
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
kealon(Ruslan)
помещая подключение модуля в implementation вы "говорите компилятору", что вам неважно, инициализируется ли модуль или нет.

Удивительно, что вот уже 32 года, как я ему это "говорю", а он всё делает правильно и не создаёт проблем.
вам пока везёт
...
Рейтинг: 0 / 0
Область видимости
    #40099656
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michael Longneck
А можно тут ссылку на документацию. Потому что для меня это мягко говоря новость. Хоть я не 32 года помещаю, но тоже не мало

Коллега имеет в виду тот факт, что если перегрузить секции initialization/finalization лишним функционалом с перекрёстными вызовами, можно нарваться на ситуацию, когда подпрограммы модуля будут вызваны "до initialization" или "после finalization". При этом он игнорирует тот факт, что если более-менее адекватно размещать всё на своих местах, такого не возникает даже при отсутствии специального внимания к этому вопросу. С его точки зрения архитектурная вменяемость - вопрос везения.
...
Рейтинг: 0 / 0
Область видимости
    #40099677
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer, Michael Longneck,

С моей точки зрения лучше получить ошибку компилятора circular link и исправить, чем получить непонятное поведение на большом проекте

"Явное лучше, чем неявное" (С) ...
...
Рейтинг: 0 / 0
Область видимости
    #40099689
Michael Longneck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerКоллега имеет в виду тот факт, что если перегрузить секции initialization/finalization лишним функционалом с перекрёстными вызовами, можно нарваться на ситуацию, когда подпрограммы модуля будут вызваны "до initialization" или "после finalization". При этом он игнорирует тот факт, что если более-менее адекватно размещать всё на своих местах, такого не возникает даже при отсутствии специального внимания к этому вопросу. С его точки зрения архитектурная вменяемость - вопрос везения.

Я понял...это надо немало кода с внешними зависимостями вписать в эти секции, чтобы получить такое. Никогда так не делал и вообще рассматривал как место для самых простых инициализаций. Чтобы не важен порядок был. Иначе это ещё одна головная боль. К сожалению. class constructor тоже по факту там вызывается. Но визуально более правильно, ИМХО, нет желания вписать туда не относящееся к классу
...
Рейтинг: 0 / 0
Область видимости
    #40099691
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michael Longneck,

Когда проект большой, банальные ситуации вроде добавки кэша могут привести к непонятным багам, ну и зачем такие проблемы, лучше исключить их изначально, без плюсовых крайностей вроде "инициализацию делаем тут-то тут-то, вручную".
...
Рейтинг: 0 / 0
Область видимости
    #40099767
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
Когда проект большой

Большой - не синоним "хреново написанный".
...
Рейтинг: 0 / 0
Область видимости
    #40099983
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
вам пока везёт
Подтверждаю. И линковщик и компилятор периодически подглючивают. Иногда приходится шаманить с порядком юнитов в секциии uses. А линкер в билдере вообще ад.
...
Рейтинг: 0 / 0
Область видимости
    #40100072
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_nigger
Иногда приходится шаманить с порядком юнитов в секциии uses
Это мысль. Есть у меня один модуль, из-за которого проект не собирается. Но начинает собираться, если предварительно сделать Clean или делать Build, а не Compile.
...
Рейтинг: 0 / 0
17 сообщений из 42, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Область видимости
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]