СГ>А Вы не сильно расстроитесь если узнаете что в Component Pascal есть хедеры? В среде BlackBox мышью выделите название модуля MyHello, после этого нажмите на правую кнопку мыши и в появившемся PopUp-меню выберите пункт Interface. Среда BlackBox покажет Вам хедер этого модуля. Для Вашего модуля он будет такой: СГ>
СГ>Хедеры в Component Pascal генерятся автоматом на основании меток видимости "*" и "-", так что вручную их писать излишне.
СГ>Кстати, хедеры носят название символьных файлов.
Ну я и не расстроился. Единственное, что они, получается, используются только Обероновской виртуальной машиной и никаой смысловой нагрузки не имеют
СГ>P. S. СГ>Добрый совет. В следующий раз, когда захотите порассуждать что там Вирту в голову взбрело или не взбрело, почитайте хотябы хелп.
Как раз читаю этот самый хелп. Организован он крайне неудобно. Кстати, а там есть хоть гле либо описание компонентов и их методов — что они делают, как вызываются и т.д. А то
Предположим, мой друг написал модуль Tools, выполняющий какие-либо действия. Он принес его мне и говорит, что на, дарю. У меня в проекте уже есть свой модуль Tools. Что мне делать?
В С++ и С# это решается с помощью namespace'ов. Довольно логичная система, легко обьясняется, легко используется.
M>Как раз читаю этот самый хелп. Организован он крайне неудобно. Кстати, а там есть хоть гле либо описание компонентов и их методов — что они делают, как вызываются и т.д. А то
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Повторяю. Единицей инкапсуляции является модуль. Все остальное следует из этого.
И это должны запомнить студенты/школьники?
После этого нападки на java о том, что в ней нет "обычных процедур", а только загадочные статические методы классов — мол, человеку сразу, сходу подсовывают лишние предметы для понимания...
Да ну нафиг! Лучше выучиться на обычном паскале (ucsd, turbo3-5, ну максимум 6 с его turbo vision) и потом осваивать какой-нибудь промышленный язык, чем с самого начала голову ломать непонятно обо что и непонятно зачем.
Здравствуйте, Mamut, Вы писали:
M>Вот я и говорю, в результате появляются извращения (а это именно извращения) вроде постфиксов — и *
M>И этому человеку (Вирту) не нравятся = и ==
9.5/1 <...> If a union contains <...> a member of reference type, the program is ill-formed.
>
Поскольку они связаны с неопределённым поведением,
Не, это не неопределенное поведение, это невалидная програма, для которой стандарт требует диагностику ("ill-formed").
> ПК>Кстати, есть предложение разрешить перегрузку operator.() и operator.*(): http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1671.pdf
> Да, эта фича будет, пожалуй, полезнее злощастного оператора &()...
Ага. Еще бы лямбду добавили -- и никакие СиШарпы с Оберонами нам ни по чем
Posted via RSDN NNTP Server 1.9 gamma
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>В .Net managed указатели есть. Их нет в C#.
Их в C# есть просто до них можно только через unsafe добраться.
... << RSDN@Home 1.1.4 rev. 185 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>Ага. Еще бы лямбду добавили -- и никакие СиШарпы с Оберонами нам ни по чем
Эх, а о компайлтайм рефлекшене вообще молчу...
Здравствуйте, WolfHound, Вы писали:
WH>Влад! Да как же ты не понимаешь?!? Ведь оберон это же идеальный язык программирования всех времен и народов, а Вирт величайший гуру принесший свет во тьму невежества промышленных программистов. А такие великие опостолы как Сергей Губанов помогают Вирту нести свет оберона в массы.
Ну, Вирт мужик заслуженный. Одного его паскаля более чем достаточно чтобы его уважать. Вот только отстал он от жизни. Не молд уже все же.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>А указатель на функцию — это всего лишь одна из возможных реализаций процедурной переменной.
О! Золотые слова! Вот и не нужно кормить детей самым низкоуровневым и примитивным их вариантам. Показывайте им интерфейсы и делегаты. Причем не в битах копайтесь, а показывайте как абстракцию. Тогда и притензий от дейатвующих программистов не будет.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Слепи DLL и EXE. Пусть EXE динамически загрузит DLL и что-то с ней сделает такое, что она сможет сама вызывать хоть одну процедуру из EXE.
1.:
Assembly assembly = Assembly.LoadFrom("c:\MyAssemby.dll");
IRun run = (IRun)assembly.CreateInstance("MyType");
run.Run();