H>MyInterface расширяется декларацией IUnknown. MyInterface можно приводить к IUnknown. Это понятно?
H>Жаль, что ты так и не понял... Реализуешь ты тут только MyInterface полученый путем расширения декларации от IUnknown.
Так кто кого расширяет?
Давай еще раз, ок?
MyInterface : Interface(IUnknown)
someMethod()
end
MyClass : Class(MyInterface)
H>>> Есть сторонние компоненты, тот же TNT, с поддержкой юникода. Юникод в VCL будет в Тибуроне (Delphi 2008).
M>>Внимательно смотри отличие: M>>Java — поддержка Юникода нативно M>>.NET — поддержка Юникода нативно M>>Qt — поддержка Юникода нативно M>>Delphi- а вот есть сторонние компоненты...
H>Главное, решение-то есть.
Что будем делать, когда стоит ограничение на использование сторонних компонентов?
H>Да и язык сей факт ни как не характеризует.
Характеризуют и язык и платформу, как устаревшую и не соответствующую современным требованиям
Здравствуйте, Mamut, Вы писали: M>Какие классы обязан реализовать класс MyClass?
Да ладно тебе эту жвачку пережевывать. Ну не сделали в Дельфи отношение реализации интерфейсов транзитивным, ну и что? Такой был у Хейльсберга осознанный выбор.
А вот Страуструп вовсе разрешает делать приватное наследование от абстрактного класса, и что? Ты точно так же можешь сделать
class IMyInterface: private IUnknown
{
}
class myClass: public IMyInterface
{
...
}
И обломишься на приведении myСlass к IUnknown, хотя все методы будешь обязан реализовать. Делов-то.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
M>>Какие классы обязан реализовать класс MyClass? S>Да ладно тебе эту жвачку пережевывать. Ну не сделали в Дельфи отношение реализации интерфейсов транзитивным, ну и что? Такой был у Хейльсберга осознанный выбор. S>А вот Страуструп вовсе разрешает делать приватное наследование от абстрактного класса, и что? Ты точно так же можешь сделать
S>И обломишься на приведении myСlass к IUnknown, хотя все методы будешь обязан реализовать. Делов-то.
Но при этом мы же не будем настаивать, что IMyInterface — это не IUnknown и к IUnknown никакого отношения не имеет
Здравствуйте, Mamut, Вы писали: M>Но при этом мы же не будем настаивать, что IMyInterface — это не IUnknown и к IUnknown никакого отношения не имеет
Ну почему же. Компилятор будет со страшной силой настаивать, что IMyInterface не имеет никакого отношения к IUnknown. Для того и сделан private, чтобы дети могли скрывать своих родителей. Я не вполне уверен, что есть надежный способ зафорсить приведение не рискуя нарваться на проход по памяти — с множественным наследованием вроде были какие-то хитрости насчет реинтерпрет_каст, но это я просто плюсы очень плохо знаю.
К слову, в остальных местах схема наследования в Delphi вполне последовательна. В частности, понизить уровень видимости унаследованного мембера нельзя, в отличие от плюсов.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, hattab, Вы писали:
H>Здравствуйте, squid, Вы писали:
H>>>>> ...CodeGear сообщает о намерениях вести разработки для гетерогенных платформ (пойдем на Linux, MacOS?)
S>>>>они бы хидеры из Windows SDK хоть перевели на Delphi...
H>>>Это давно не проблема... У джедаев давно есть полный комплект (JWA), есть конверторы C2Pas.
S>>простой пример — DirectShow. Видел 3 варианта, во всех куча багов и нет Вистовских фич вроде EVR в нормальном виде.
H>DSPack смотрел? Не знаю, как там на счет Вистовых плюшек, но хидеры DirectShow там есть.
да. крайне бажный и несовременный. временами постю фиксы на их форуме.
H> В крайнем случае, можно найти подходящий конвертор.
линк?
S>>начнешь плотно работать — видно сколь криво это сделано. а чтото более бажное и громоздкое чем JVCL вообще сложно представить.
H>JWA <> JVCL.
Здравствуйте, Sinclair, Вы писали:
S>Стековая ориентированность IL позволяет во-первых проводить дешевую верификацию кода,
Я бы не сказал что наличие goto способствует скорости, простоте и надежности верификации кода.
S>а во-вторых генерировать достаточно эффективный целевой код на современных архитектурах.
Этому стековая модель ВМ тоже не помогает.
В любом случае funarg problem в C# появилась еще во второй версии и исчезать не соберается.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[17]: наши менеджеры памяти самые менеджеристые менеджеры
Здравствуйте, gandjustas, Вы писали:
M>>>Внимательно смотри отличие: M>>>Java — поддержка Юникода нативно M>>>.NET — поддержка Юникода нативно M>>>Qt — поддержка Юникода нативно M>>>Delphi- а вот есть сторонние компоненты...
H>>Главное, решение-то есть. Да и язык сей факт ни как не характеризует. G>Зато платформу очень даже характеризует.
Это VCL, чтоль, платформа? Не смеши меня. Никогда амбиций "платформы" у VCL небыло, ибо слишком она мала для платформы. Изначальный посыл я ведь уже озвучивал: немаленькое ядро + компонентная модель. Сторонние компоненты всегда входили (и входят) в поставку Delphi (Indy, QuickReport/RaveReport, Intraweb).
Здравствуйте, gandjustas, Вы писали:
H>>Нет, он не является совместимым с IUnknown т.к. IUnknown не продекларирован в списке реализуемых интерфейсов и реализуешь ты методы не IUnknown, а MyInterface. Я это повторил уже раз десять.
G>Поздравляю, ты стодвадцатьпервый раз показал кривость делфи. Хватит уже, все поняли что использование интерфейсов в делфи — огромные грабли. G>Слава богу в других языках такого бреда нет.
Ты в очередной раз доказываешь свое непонимание Только и всего.
Здравствуйте, gandjustas, Вы писали:
H>>И еще раз напишу, чтоб ты понял: Наследование, инкапсуляция и полиморфизм, вот фундамент ООП. Интерфейсы, да приятная штука снимающая зависимости кода, не более того. G>Интерфейсы не имеют отношения к наследованию и полиморфизму?
Иметь отношение и являться фундаментальным, есть разница?
Здравствуйте, AndrewJD, Вы писали:
AJD>>>>>Думаю, с custom маршалером можно будет передать без проблем.
AJD>>>Он будет COM-совместимым . Ты путаешь бинарную COM совместимость с OLE Automation. Да, стандартный OLE automation маршалер работать не будет, ну и что с того?
H>>А про бинарную совместимость ни кто и не спорил
AJD>
AJD>Да. Только после этого называть такой интерфейс COM-совместимым, это все равно, что назвать танк летающим только потому, что он в транспортном самолете находится. (c)hattab
AJD>А эту фразу как понимать?
Поясняю. Про бинарную совместимость я говорил еще в самом начале разговора. Под COM-совместимостью я не имею ввиду бинарную (ибо об этом уже было сказано), а говорю о совместимости с зоопарком технологических надстроек над моделью COM. Только в таком контексте.
Здравствуйте, Mamut, Вы писали:
H>>MyInterface расширяется декларацией IUnknown. MyInterface можно приводить к IUnknown. Это понятно?
H>>Жаль, что ты так и не понял... Реализуешь ты тут только MyInterface полученый путем расширения декларации от IUnknown.
M>Так кто кого расширяет?
Декларация IMyInterface расширяется декларацией IUnknown.
M>Давай еще раз, ок?
M>
Здравствуйте, Mamut, Вы писали:
H>>>> Есть сторонние компоненты, тот же TNT, с поддержкой юникода. Юникод в VCL будет в Тибуроне (Delphi 2008).
M>>>Внимательно смотри отличие: M>>>Java — поддержка Юникода нативно M>>>.NET — поддержка Юникода нативно M>>>Qt — поддержка Юникода нативно M>>>Delphi- а вот есть сторонние компоненты...
H>>Главное, решение-то есть.
M>Что будем делать, когда стоит ограничение на использование сторонних компонентов?
Заказчик с такими претензиями пойдет туда, где солнце не светит (ибо это обостренный дибилизм в тяжелой форме) Для кого, спрашивается существует рынок компонентов/библиотек? Единственное требование к сторонним библиотеками -- это наличие исходников.
H>>Да и язык сей факт ни как не характеризует.
M>Характеризуют и язык и платформу, как устаревшую и не соответствующую современным требованиям
Развей (от развивать) мысль насчет языка, а то я что-то не уловил...
Здравствуйте, squid, Вы писали:
H>>>>>> ...CodeGear сообщает о намерениях вести разработки для гетерогенных платформ (пойдем на Linux, MacOS?)
S>>>>>они бы хидеры из Windows SDK хоть перевели на Delphi...
H>>>>Это давно не проблема... У джедаев давно есть полный комплект (JWA), есть конверторы C2Pas.
S>>>простой пример — DirectShow. Видел 3 варианта, во всех куча багов и нет Вистовских фич вроде EVR в нормальном виде.
H>>DSPack смотрел? Не знаю, как там на счет Вистовых плюшек, но хидеры DirectShow там есть.
S>да. крайне бажный и несовременный. временами постю фиксы на их форуме.
Ну, со всеми бывает
H>> В крайнем случае, можно найти подходящий конвертор.
S>линк?
Ой, я так давно этим пользовался (помню, что конвертор был от мужика в шляпе, dr.Bob'а)... Ну, вот, что первым попалось. Недавно на delphiplus.org, что-то аналогичное проскакивало в новостях.
Re[18]: наши менеджеры памяти самые менеджеристые менеджеры
Здравствуйте, hattab, Вы писали:
M>>Что будем делать, когда стоит ограничение на использование сторонних компонентов? H>Заказчик с такими претензиями пойдет туда, где солнце не светит (ибо это обостренный дибилизм в тяжелой форме) Для кого, спрашивается существует рынок компонентов/библиотек? Единственное требование к сторонним библиотеками -- это наличие исходников.
Рынок существет как раз потому что стнадартная библиотека не покрывает необходимости разработки.
А требование использования только стандартных компонент вполне часто встречается.
Короче устарел твой делфи. После выхода версии 2008 года можно будет подумать.
Здравствуйте, hattab, Вы писали:
H>Здравствуйте, gandjustas, Вы писали:
H>>>Нет, он не является совместимым с IUnknown т.к. IUnknown не продекларирован в списке реализуемых интерфейсов и реализуешь ты методы не IUnknown, а MyInterface. Я это повторил уже раз десять.
G>>Поздравляю, ты стодвадцатьпервый раз показал кривость делфи. Хватит уже, все поняли что использование интерфейсов в делфи — огромные грабли. G>>Слава богу в других языках такого бреда нет.
H>Ты в очередной раз доказываешь свое непонимание Только и всего.
Я-то очень хорошо понимаю, а ты — нет. Тебе не с чем сравнивать
Здравствуйте, iyura, Вы писали:
I>Вот не помню точно, но в фортране >= это Greate Or Equal, т.е. GOE (три знака точно, но могу и ошибаться)
Если быть точным, в Фортране операторы сравнения состояли из 4-х символов. .LT., .EQ., .GE. и т. д. Точки были частью оператора. Набивать на перфокартах было не очень удобно. А потому в Фортране часто использовали арифметический IF.
I>Но речь-то не о фортране (дедушка живее всех живых )
Здравствуйте, hattab, Вы писали:
H>Здравствуйте, gandjustas, Вы писали:
H>>>И еще раз напишу, чтоб ты понял: Наследование, инкапсуляция и полиморфизм, вот фундамент ООП. Интерфейсы, да приятная штука снимающая зависимости кода, не более того. G>>Интерфейсы не имеют отношения к наследованию и полиморфизму?
H>Иметь отношение и являться фундаментальным, есть разница?
Это словоблудие. Таким же образом классы "не являются фундаментом ООП".
Классы и интерфейсы являются реализацией принципов ООП.
Здравствуйте, hattab, Вы писали:
H>Здравствуйте, squid, Вы писали:
H>>>>>>> ...CodeGear сообщает о намерениях вести разработки для гетерогенных платформ (пойдем на Linux, MacOS?)
S>>>>>>они бы хидеры из Windows SDK хоть перевели на Delphi...
H>>>>>Это давно не проблема... У джедаев давно есть полный комплект (JWA), есть конверторы C2Pas.
S>>>>простой пример — DirectShow. Видел 3 варианта, во всех куча багов и нет Вистовских фич вроде EVR в нормальном виде.
H>>>DSPack смотрел? Не знаю, как там на счет Вистовых плюшек, но хидеры DirectShow там есть.
S>>да. крайне бажный и несовременный. временами постю фиксы на их форуме.
H>Ну, со всеми бывает
и в итоге — нужны ОФИЦИАЛЬНЫЕ хидеры. ПОДДЕРЖИВАЕМЫЕ! а иначе — фтопку!
H>>> В крайнем случае, можно найти подходящий конвертор.
S>>линк?
H>Ой, я так давно этим пользовался (помню, что конвертор был от мужика в шляпе, dr.Bob'а)... Ну, вот, что первым попалось. Недавно на delphiplus.org, что-то аналогичное проскакивало в новостях.
спасибо, гляну. но если брать сложные вещи вроде GDI+ он точно сольет. там моск нужен. а Борланду пофек на наши нужны. как обычно впрочем.
Здравствуйте, WolfHound, Вы писали: WH>Я бы не сказал что наличие goto способствует скорости, простоте и надежности верификации кода.
Он там ограниченный
WH>В любом случае funarg problem в C# появилась еще во второй версии и исчезать не соберается.
Дай ссылку на описание этой проблемы, чтоб я впечатлился на досуге.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.