Здравствуйте, kuj, Вы писали:
kuj>Здравствуйте, Sinclair, Вы писали:
kuj>>>Богатый интерфейс на яваскрипте? Флаг в руки, ветер в спину. S>>Ты под богатым интерфейсом часом не вот это имеешь в виду? Или, может быть, maps.google.com? kuj>Часом нет. Речь шла о Windows, а не о Web. А то, может, давайте еще Silverlight сюда приплетем.
Блин. Ты, Маугли, кого угодно достанешь (с)
Короче, есть тебе 2 варианта: HTA (это все же не web в полном понимании) и библиотека WSH.GUI — это уже просто набор ActiveX для создания гуя. Выбирай, что понравится.
Здравствуйте, DOOM, Вы писали:
kuj>>>>2. Делфи — динамический язык? DOO>>>В достаточной мере. kuj>>Скажу тебе по секрету Delphi никогда не был, не является, и вряд ли когда-то станет динамическим языком. DOO>В полной мере нет. Но не все так строго делится на белое и черное. Delphi является более динамическим, чем C++, например.
Из серии крокодил более длинный, чем зеленый — зеленый он только сверху, а длинный и снизу и сверху. Открой для себя ATL.
kuj>>>>А Борланд об этом знает? DOO>>>Да уж наверное. Хотя в 6-й дельфи они стали на многие прикольные фишки выдавать ворнинги, что в .Net версии это уже не будет работать. kuj>>И при чем тут динамические языки? DOO>Это к вопросу о статической типизации. Или ты под динамическим языком понимаешь только тот, у которого есть функция типа eval?
Нет и я уже давал ссылку на wiki и приводил в качестве примера полноценного динамического языка Ruby. Ты явно проигнорировал и то и другое.
Попробую объяснить тебе как ребенку малому: если в языке есть статическая типизация, то язык не является динамическим. Повторяй это как мантру.
kuj>>VarArrayCreate создает массив значений типа Variant. При чем тут динамические языки? Ты, батенька, серьезно не в теме. DOO>В VBscript'е любая переменаая это тоже Variant — если ты внедришь движок VB через соответсвующий COM объект в свою программу, то ты даже сможешь получать к ним доступ. Вопрос в прямой поддержке со стороны языка — VBScript поддерживает эти Variant'ы прозрачно, Delphi — тоже, C++ — нет. Соотвественно нельзя говорить, что в Delphi статическая типизация. Все, что отличает его от какого-нибудь скрипта — это отсутствие функции типа eval. Это делает Дельфи некоторым промежуточным языком, но ни как не "статическим языком со строгой типизацией".
Ты банально не имеешь ни малейшего понятия что такое динамические языки.
kuj>>Проку от них ровно столько, сколько проку от подобного контейнера в Delрhi. Кроме того, что я могу явно ограничить супертип, что уменьшит поле для ошибок на этапе компиляции. Вообщем, ты снова явно не в теме. DOO>Для особо одаренных напомню, что в дельфи все объпекты потомки TObject — т.е. супертип уже ограничен. Прямо такой уж жизненной необходимости отсекать дерево при помощи какого-то промежуточного объекта я не вижу — это можно сделать еще в куче мест, в том числе в рантайме.
List<MyBaseClass>
и
ArrayList
Ты все еще не въезжаешь?...
Бедные дети в школах и институтах... зачем их только учат Делфи. Сами себя гробим.
Здравствуйте, hattab, Вы писали:
H>>>Объясняю еще раз, для особо одаренных. Сегодня ты должен спроектировать класс, и реализовать его так, чтоб завтра, некто другой мог получить (или проверить на возможность получения) от этой сущности другую сущность, о наличии которой тебе на момент проектирования не известно. Работая с объектами ты этой задачи не решишь, ну или изобретешь свой аналог GetInterface/QueryInterface.
M>>Для таких случаев делается wrapper-объект, который содержит старый объект в виде приватной переменной. И?
H>Да-да, все сводится к рождению своего Query-blah-blah-blah
Нет, все сводится к тому, что ты не знаешь банальных основ ООП.
Здравствуйте, hattab, Вы писали:
H>Я уж и не знаю, какие тебе еще примеры приводить, чтоб ты понял... Вот прикинь, получил ты интерфейс IUnknown (неважно, как и от кого), ты можешь запросить у него интерфейс ICanFly? Можешь. Можешь даже в том случае, если реализующий (IUnknown) объект не имеет понятия о ICanFly. Теперь давай тоже самое с объектами.
Здравствуйте, hattab, Вы писали:
H>>>>>Объясняю еще раз, для особо одаренных. Сегодня ты должен спроектировать класс, и реализовать его так, чтоб завтра, некто другой мог получить (или проверить на возможность получения) от этой сущности другую сущность, о наличии которой тебе на момент проектирования не известно. Работая с объектами ты этой задачи не решишь, ну или изобретешь свой аналог GetInterface/QueryInterface. G>>>>Ты сейчас как-то криво рассказал про фабрику классов. Тольео её придумали гораздо раньше COM
H>>>Фабрика-то ту при чем? В своем ли ты уме?? G>>При том. Создание объекта, тип которого известен только во время выполенения — задача фабрки\фабричного метода.
H>Так нам не требуется ничего создавать. Нужно узнать у сущности, умеет ли она летать.
Мда...
if (obj is ICanFly)
{
...
}
G>>Ты вообще знаешь для чего QueryInterface придумали?
H>Будь уверен.
Да мы то давно уверены, что ты, мягко говоря, не в теме...
H>Ok. Если это так, то такое поведение оператора as это и есть запрос интерфейса от объекта (но не приведение оного).
Понятия "запрос интерфейса" и "приведение к интерфейсу" тождественные.
ISomething a = (ISomething)b;
Тоже самое, но если b не реализует ISomething, то будет сгенерировано исключение.
H>А теперь запроси от объекта другой объект (ты же сказал, что решение на интерфейсах вызвано кривостью Delphi).
Что значит "запроси от объекта другой объект"?
Ты банально не понимаешь что такое интерфейсы. Вот в чем твоя проблема.
Просвещайся.
DOO>В статье есть ответ ровно на один вопрос: какие порты. Больше ровным счетом ничего — ни механизма обмена (со стороны ОС, а не .Net сборки), ни методов аутентификации, ничего. Еще раз повторяю — даже если кодер не заморачивается такими вопросами (вообще говоря, и не должен) — все эти вопросы должны появится в голове у архитектора.
Ты статью точно читал? Судя по комментарию — нет. Прочти тогда будет о чем поговорить. Заодно посмотри статью в MSDN.
Здравствуйте, _d_m_, Вы писали:
kuj>>Хмм, интересно. На сколько большой должен быть файл, чтоб студия зависла? На .cs в 360kB не виснет и не тормозит... Большего cs-файла под рукой нету...
___>Ну не такой уж большой — 69К. Проблема проявляется именно в этом файле. Скорее всего проблема возникает из-за содержимого, но то что проблема воспроизводима — это факт.
Странно.
___>>>- До SP1 одолевал WinForms дизайнер — открываешь допустим свой контрол, а на нем кнопки съехали. Ну это уже не в счет.
kuj>>Не сталкивался. Я, правда, с WinForms мало работаю.
___>>>- WinForms дизайнер — шрифты в дизайнере могут оказаться другого размера, чем на реальной форме.
kuj>>Это как? Можно сценарий для воспроизведения?
___>Вот: ___> ___>Слева кнопка в дизайнере, справа реально запущенное приложение. MS Sans Serif 9.75pt.
Э-э, вообще-то шрифты на скриншоте идентичные. А вот ширина поля действительно разная.
Здравствуйте, Sinclair, Вы писали:
C>>- все примеры, SDK и тому подобные вещи идут с примерами на СИ и Шарпе. Задолбался я переводить это все на паскаль. C>>- begin, end C>>- var S>Возрадуйся, ибо в новом шарпе таки есть var
var в новом шарпе и в делфи несколько различаются, не находишь?
Здравствуйте, DOOM, Вы писали:
kuj>>>>Богатый интерфейс на яваскрипте? Флаг в руки, ветер в спину. S>>>Ты под богатым интерфейсом часом не вот это имеешь в виду? Или, может быть, maps.google.com? kuj>>Часом нет. Речь шла о Windows, а не о Web. А то, может, давайте еще Silverlight сюда приплетем.
DOO>Блин. Ты, Маугли, кого угодно достанешь (с) DOO>Короче, есть тебе 2 варианта: HTA (это все же не web в полном понимании) и библиотека WSH.GUI — это уже просто набор ActiveX для создания гуя. Выбирай, что понравится.
Ты давай примеры конкретных приложений, а не "наборы ActiveX для гуя".
Здравствуйте, kuj, Вы писали: kuj>Часом нет. Речь шла о Windows, а не о Web.
Хм. Ну скопируй HTML из первого примера себе на диск C:\ — будет под Windows. В чем проблема-то? В том, что ты не знал, что на JS можно писать rich text gui?
kuj>А то, может, давайте еще Silverlight сюда приплетем.
Ну, почему бы и нет? Если речь о сильверлайте с JS биндингом.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, kuj, Вы писали:
___>>>>- WinForms дизайнер — шрифты в дизайнере могут оказаться другого размера, чем на реальной форме.
kuj>>>Это как? Можно сценарий для воспроизведения?
___>>Вот: ___>> ___>>Слева кнопка в дизайнере, справа реально запущенное приложение. MS Sans Serif 9.75pt.
kuj>Э-э, вообще-то шрифты на скриншоте идентичные. А вот ширина поля действительно разная.
Ну не знаю, что ты имеешь ввиду под шириной поля, но открой это изображение и посмотри в масштабе 600%:
Здравствуйте, kuj, Вы писали:
kuj>Здравствуйте, ironwit, Вы писали:
kuj>>>Мне нужно нажать только =, в то время как тебе в Delphi — зажать shift, нажать 6, отжать shift, нажать = и это для, пожалуй, наиболее используемого оператора...
I>>shift+Ж в англ раскладке? :
kuj>Почему я должен помнить какая у меня там активная раскладка, если все что мне нужно, это ввести оператор присваивания?
а ты в делфи (подставить своё) работаешь в альтернативной раскладке?
Здравствуйте, kuj, Вы писали:
kuj>Здравствуйте, hattab, Вы писали:
H>>Delphi программы в релизном варианте не поотлаживаешь.
kuj>Еще один камень в огород Делфи, кстати.
А ты хоть раз C++'ную программу в релизе пробовал отлаживать?
Здравствуйте, kuj, Вы писали:
kuj>Здравствуйте, hattab, Вы писали:
H>>Delphi программы в релизном варианте не поотлаживаешь.
kuj>Еще один камень в огород Делфи, кстати.
неверная формулировка. с программой на делфи не сможешь работать отладчиком если в ехе файл не включил отладочную информацию.
Здравствуйте, ironwit, Вы писали:
kuj>>>>Мне нужно нажать только =, в то время как тебе в Delphi — зажать shift, нажать 6, отжать shift, нажать = и это для, пожалуй, наиболее используемого оператора...
I>>>shift+Ж в англ раскладке? :
kuj>>Почему я должен помнить какая у меня там активная раскладка, если все что мне нужно, это ввести оператор присваивания? I>а ты в делфи (подставить своё) работаешь в альтернативной раскладке?
У меня кроме английской еще три раскладки. Впрочем, в Delphi я, к счастью, не работаю.
kuj>>Ты давай примеры конкретных приложений, а не "наборы ActiveX для гуя".
DOO>Извини за каламбур, но с куя ли я тебе должен конкретные приложения приводить? Сказано было, что можно — показал, что можно.