Viper писал(а):Class Module используется для создания класса, то есть в случаях описания некоего объекта. В то время как просто Module используется в качестве контейнера для функций и константа объединенных неким общим назначением.
Объясню на пальцах.Diamock писал(а):Я, хочу знать в каких случаях предпочтительно создание объекта, а в каких нет.
Antonariy писал(а):Ты не можешь в режиме исполнения сделать копию модуля и присвоить переменным новые значения, имея два и более разных наборов одновременно.
Antonariy писал(а):ddressOf может работать только со статическим адресным пространством процесса, потому что оно не меняется во время исполнения — точка входа в процедуру обратного вызова гарантированно останется по тому адресу, по которому она оказалась при запуске процесса. Если в качестве адреса процедуры обратного вызова будет дан адрес объектной процедуры, то после уничтожения объекта обратный вызов уйдет в астрал и программа рухнет.
Частный случай, до которого ТСу нет дела. Он не знает разницы между модулем и классом, ну а разные виды dll вообще пока в пролете...ActiveX DLL проект в режиме Apartament Threading имеет копию всех переменных модуля для каждого апартамента (читай — потока).
Архичушь. Никуда они не уйдут. Разделение адресного пространства процесса на статические и динамическое — нонсенс.
Antonariy писал(а):На данном этапе освоения материала это не существенно.
Antonariy писал(а):Он не знает разницы между модулем и классом, ну а разные виды dll вообще пока в пролете...
Хакер писал(а):Antonariy писал(а):На данном этапе освоения материала это не существенно.
На любом этапе чушь нежелательна. Чушь имеет обыкновение закрепляться в памяти, и выводится гораздо хуже, чем вводится. AddressOf нет возможности применять к методам интерфейсов исключительно по причине стиля: в COM для callback-ов практикуется передача ссылки на интерфейс, а не передача адреса процедуры.Antonariy писал(а):Он не знает разницы между модулем и классом, ну а разные виды dll вообще пока в пролете...
Вообще-то его слова говорят о том, что всё-таки знает (да и предыдущие посты говорят). А в данном случае, получается, он спрашивает, почему WinAPI-шные фичи одни оборачивают в модуль, а другие — в класс. Вопрос в применимости техник, а не в сути техник.
Если бы знал, не было бы вопроса.Вообще-то его слова говорят о том, что всё-таки знает (да и предыдущие посты говорят).
Некрофилия, 4 года как-никак прошло.Хакер писал(а):P.S. Лучше направь свою комментарческую энергию вот сюда.
Antonariy писал(а):Ну передай коммондиалогу адрес объектного коллбэка, а потом удали объект.
Да, пожалуй чересчур на пальцах. Поздно вспомнил про строение интерфейсов, а переписывать телегу было лень. Конечно, сама процедура остается на том же месте, но пропадают или изменяются контекстно-зависимые данные. В общем, при определенных условиях коллбэком через объектную процедуру можно прострелить себе ногу, а использование AddressOf эту возможность исключает.Хакер писал(а):Так что, на каких бы «пальцах» ты не объяснял, есть упрощённые объяснения на пальцах, но в данном случае были просто ошибочные утверждения.
Сейчас этот форум просматривают: SemrushBot и гости: 1