powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6 и ООП
75 сообщений из 75, показаны все 3 страниц
VB6 и ООП
    #39661933
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор: выделено из 21487470

ATM-TURBO 2vb_subATM-TURBO 2,
есть ли такая острая нужда в многопоточности для VB6?
Это сродни вопросу - есть ли такая острая нужда в многопоточности для C++? Каков будет ответ?Нужда в нормальном ООП острее.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39661950
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyATM-TURBO 2пропущено...

Это сродни вопросу - есть ли такая острая нужда в многопоточности для C++? Каков будет ответ?Нужда в нормальном ООП острее.

Написать современную программу без ООП можно, без многопоточности - нет.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39661955
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltНаписать современную программу без ООП можносовременная - это у которой дата изменения исполняемого файла нынешняя?
каковы критерии "современности"?
...
Рейтинг: 0 / 0
VB6 и ООП
    #39661995
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyATM-TURBO 2пропущено...

Это сродни вопросу - есть ли такая острая нужда в многопоточности для C++? Каков будет ответ?Нужда в нормальном ООП острее.
Начнем с того чем VB-ООП не подходит?
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662007
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2Antonariyпропущено...
Нужда в нормальном ООП острее.
Начнем с того чем VB-ООП не подходит?Нет наследования и полиморфизма.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662029
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyATM-TURBO 2пропущено...

Это сродни вопросу - есть ли такая острая нужда в многопоточности для C++? Каков будет ответ?Нужда в нормальном ООП острее.

это оксюморон какой-то.
Как то, что названо ооп - вообще может быть нормальным?
И нормальным - это simula-67, ml-67 или smalltalk-80?
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662045
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyEoltНаписать современную программу без ООП можносовременная - это у которой дата изменения исполняемого файла нынешняя?
каковы критерии "современности"?

Современная = неоднопоточная
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662158
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltAntonariyпропущено...
современная - это у которой дата изменения исполняемого файла нынешняя?
каковы критерии "современности"?

Современная = неоднопоточнаяследовательно, двадцать лет назад многопоточные программы были фантастическими? а может сказочными или чудесными?

продолжай, я заинтригован. многопоточностью не отделаешься, в тебе сидит еще куча перлов, я чувствую это.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662160
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobyAntonariyпропущено...
Нужда в нормальном ООП острее.

это оксюморон какой-то.
Как то, что названо ооп - вообще может быть нормальным?
И нормальным - это simula-67, ml-67 или smalltalk-80?ваше личное понимание ООП никого не волнует. ООП здорового человека стоит на четырех китах (абстракция, инкапсуляция, наследование, полиморфизм), из которых в VB6 присутствует только два, и от неуместного перевода стрелок на всякие стимулы еще два не появится.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662163
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyATM-TURBO 2пропущено...

Начнем с того чем VB-ООП не подходит?Нет наследования и полиморфизма.
Чем наследование интерфейсов и полиморфизм на основе интерфейсов не устраивает?
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662170
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2Antonariyпропущено...
Нет наследования и полиморфизма.
Чем наследование интерфейсов и полиморфизм на основе интерфейсов не устраивает?тем, что это фуфло. "наследование интерфейсов" - это что вообще за понятие такое? в .NET интерфейсы могут наследовать друг друга, а в VB6 они этого не умеют, смысла тут в этом сочетании слов никакого нет. интерфейс в VB6 может только реализоваться классом. и вот реализация-то никак не наследуется.

"полиморфизм на основе интерфейсов" из той же фуфельной оперы. где объявление обязательного к переопределению члена? где сокрытие? где хотя бы перегрузки? всё, до свиданья, полиморфизм.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662171
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy где объявление обязательного к переопределению члена?впрочем, тут-то все в порядке, члены интерфейса обязательны к реализации, проблемы как раз с необязательными переобъявлениями.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662179
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariyтем, что это фуфло. "наследование интерфейсов" - это что вообще за понятие такое? в .NET интерфейсы могут наследовать друг друга, а в VB6 они этого не умеют, смысла тут в этом сочетании слов никакого нет.
Фуфло - это твое понимание принципа интерфейсов. Ты знаком вообще с понятием интерфейсов? В COM интерфейсы также могут наследовать друг-друга, как минимум любой интерфейс должен наследоваться от IUnknown, а в VB6 любой интерфейс наследует еще как минимум IDispatch. VB6 может имплементировать интерфейсы производные от IUnknown и IDispatch, но если немного знать суть работы то можно реализовать любой интерфейс, как к примеру тут (IDWriteTextRenderer наследуется от IDWritePixelSnapping и реализуется VB6-классом).

Antonariy интерфейс в VB6 может только реализоваться классом. и вот реализация-то никак не наследуется.
Об обратном никто не говорил. Наследование реализации в COM делается через включение. Обращения к базовому классу делегируются этому объект.

Antonariy"полиморфизм на основе интерфейсов" из той же фуфельной оперы. где объявление обязательного к переопределению члена? где сокрытие? где хотя бы перегрузки? всё, до свиданья, полиморфизм.
Что? Что ты имеешь в виду? Интерфейс - это контракт взаимодействия объектов. Сокрытие чего? У меня есть интерфейс и классы реализуют его, вследствии чего я могу обращаться к разным объектам посредством ссылки на один общий интерфейс.

Думай о VB6 как о COM-ориентированном языке, потом почитай вот это https://msdn.microsoft.com/en-us/library/windows/desktop/ff637359(v=vs.85).aspx
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662187
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все примеры наследования, агрегирования и т.п. есть в книге Advanced Visual Basic 6 Power Techniques for Everyday Programs by Matthew Curland.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662189
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2Antonariyтем, что это фуфло. "наследование интерфейсов" - это что вообще за понятие такое? в .NET интерфейсы могут наследовать друг друга, а в VB6 они этого не умеют, смысла тут в этом сочетании слов никакого нет.
Фуфло - это твое понимание принципа интерфейсов. Ты знаком вообще с понятием интерфейсов? В COM интерфейсы также могут наследовать друг-друга, как минимум любой интерфейс должен наследоваться от IUnknown, а в VB6 любой интерфейс наследует еще как минимум IDispatch. VB6 может имплементировать интерфейсы производные от IUnknown и IDispatch, но если немного знать суть работы то можно реализовать любой интерфейс, как к примеру тут (IDWriteTextRenderer наследуется от IDWritePixelSnapping и реализуется VB6-классом).Помимо того, что я знаком с понятием интерфейсов, я еще и в состоянии отделять мух от котлет, которых ты понамешал в кучу. Какое отношение твое шаманство НА ЯЗЫКЕ IDL имеет к возможностям ЯЗЫКА VB6 ? Объяви на VB6 интерфейс I1, унаследуй от него на VB6 интерфейс I2, и вот с этого момента начнется речь о наследовании интерфейсов на языке VB6 .

в гробу я видал эти идлки писать, написался уже.

ATM-TURBO 2Antonariy интерфейс в VB6 может только реализоваться классом. и вот реализация-то никак не наследуется.
Об обратном никто не говорил. Само собой, на COM съехать гораздо удобней, он-то к возможностям языка VB6 вообще отношения не имеет, ему пофиг на каком языке к нему обращаются.

ATM-TURBO 2Antonariy"полиморфизм на основе интерфейсов" из той же фуфельной оперы. где объявление обязательного к переопределению члена? где сокрытие? где хотя бы перегрузки? всё, до свиданья, полиморфизм.
Что? Что ты имеешь в виду? Интерфейс - это контракт взаимодействия объектов. Сокрытие чего? У меня есть интерфейс и классы реализуют его, вследствии чего я могу обращаться к разным объектам посредством ссылки на один общий интерфейс.Во, ты даже не понимаешь, о чем речь. Поищи по ключевым словам Overridable, Shadows, Overloads, которых нет в VB6.

ATM-TURBO 2Думай о VB6 как о COM-ориентированном языкеЕсли бы ты был автором пассажа о "современном ПО", то это звучало бы еще смешнее.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662193
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2Все примеры наследования, агрегирования и т.п. есть в книге Advanced Visual Basic 6 Power Techniques for Everyday Programs by Matthew Curland.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662206
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторПомимо того, что я знаком с понятием интерфейсов, я еще и в состоянии отделять мух от котлет, которых ты понамешал в кучу. Какое отношение твое шаманство НА ЯЗЫКЕ IDL имеет к возможностям ЯЗЫКА VB6?
Нет, ты написал:
автор"наследование интерфейсов" - это что вообще за понятие такое?
А я с радостью написал что ты не прав, и привел примеры наследования интерфейсов. Неважно на чем это написано, когда говорят что нет такой возможности (значит ее нет совсем), а она есть - это уже ересь.
Дословно:
авторНет наследования и полиморфизма.
Есть и то и то. Есть наследование интерфейсов и полиморфизм. Пример привел.

авторСамо собой, на COM съехать гораздо удобней, он-то к возможностям языка VB6 вообще отношения не имеет, ему пофиг на каком языке к нему обращаются.
А то что VB6 - это COM ориентированный ЯП ты учитываешь? То что всегда любой класс в VB6 - это автоматически COM класс? А как в COM делается повторное использование кода? И я описал это. Если это работает не так как тебе хочется - это не значит что это неправильно.

авторВо, ты даже не понимаешь, о чем речь. Поищи по ключевым словам Overridable, Shadows, Overloads, которых нет в VB6.
Не понимаю как это относится к полиморфизму на основе интерфейсов. Я прекрасно знаю что нет наследования реализации, для чего ты мне пишешь про это в очередной раз - мне не понятно.

авторто это звучало бы еще смешнее.
Не знаю в каком нужно быть состоянии чтобы смеяться над этим.

авторкостыли
Да ладно, то-то в IClassFactory::CreateInstance pUnkOuter как костыль придумали. Агрегация в Vb6 используется с юзерконтролами когда ты нажимаешь точечку и видишь помимо методов юзерконтрола свойства типа Letf, Top, Name etc. Ничего себе костыль. Хочу заметить юзерконтролы - это те же самые классы.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662228
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyboobyпропущено...

это оксюморон какой-то.
Как то, что названо ооп - вообще может быть нормальным?
И нормальным - это simula-67, ml-67 или smalltalk-80?ваше личное понимание ООП никого не волнует.

Вы сами принципиально не читаете то, на что ссылаетесь?

сбрендившая википедияТо есть фактически речь идет о прогрессирующей организации информации согласно первичным семантическим критериям: «важное/неважное», «ключевое/подробности», «родительское/дочернее», «единое/множественное». Прогрессирование, в частности, на последнем этапе дает возможность перехода на следующий уровень детализации, что замыкает общий процесс.

Обычный человеческий язык в целом отражает идеологию ООП, начиная с инкапсуляции представления о предмете в виде его имени и заканчивая полиморфизмом использования слова в переносном смысле, что в итоге развивает[3] выражение представления через имя предмета до полноценного понятия-класса.

Это не иначе, как после второго укола писалось.
Вместо письма в "дорогую передачу".
Я даже не буду спрашивать - с какой фразы здесь можно начинать программировать.


Antonariy ООП здорового человека стоит на четырех китах (абстракция, инкапсуляция, наследование, полиморфизм),

Вы осторожнее и аккуратнее с количеством китов.
Всё программирование долгое время всего на трёх китах умудрялось как-то выстаивать:
- последовательности выполняемых действий, операторе выбора и возможности формировать цикл.
А вашему ооп нужны стазу четыре? И на каком из них циклы поставлены?

Вопрос о четвертом ките программирования в виде языковых примитивов обеспечения
многозадачности, и правда, давно широко дебатируется в узких кругах.
Но самостоятельных ни плавников ни усов он пока не отрастил.

Antonariy из которых в VB6 присутствует только два,

Скажешь каких? Давай догадаюсь.
В полиморфизме и наследовании ты отказал, значит, остались абстракция и инкапсуляция.
И ты правда уверен в том, что то, что подразумевается под словом "абстракция" есть у VB6?
Как ты говоришь, "абстракция здорового человека" подразумевает всего лишь статический
полиморфизм. Ни больше ни меньше.
И у кого он есть на самом деле из тех, кого ты к "настоящим ооп" относишь?
(Выбор таки есть, но среди, например, прямых наследников симулы,
без примесей ML, - четырех пальцев точно не потребуется).

Antonariy и от неуместного перевода стрелок на всякие стимулы еще два не появится.
Не помню, у кого из великих - Дейкстры или Хоара, было где-то замечание по поводу программирования "сверху вниз".
Смысл его заключается в том, что это хороший подход к программированию, но ему нельзя учить новичков.
Так как новички не знают, где верх.

Это вот к чему - тебе были предложены три модельных источника всего того, вообще всего , что впоследствии стало называться или относиться к "ооп".
Указание на любой из них дает ясную картину того, что именно ты считаешь "правильным ооп".
Просто для уточнения твоего модельного представления путем указания на конкретный пример языка.
Твой ответ свидетельствует лишь о том, что ты - ничего не считаешь.
Предпочитаешь ссылаться на лишенные содержания тексты.
А для меня это является признаком того, что несомненно, ты не используешь того, за что так бурно выступаешь.
По крайней мере осмысленно и содержательно - почти наверно - не используешь.
Иначе не было бы причин для эмоций.

И да, мне лениво бегать по твоим текстам в других постах этого топика.
Просто поверь на круг - о полиморфизме даже динамическом, у тебя представления весьма превратные, если вообще есть.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662287
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2 Неважно на чем это написано,Акуеть. Я предъявляю претензии к языку VB6, его синтаксису, а меня пытаются разубедить с помощью другого языка. В адеквате вообще?
А давай вообще писать библиотеки на с++, в котором ООП-фарша вдвое больше, чем в VB6, подрубать к VB6 и мощно наслаждаться его "возможностями"?

ATM-TURBO 2когда говорят что нет такой возможности (значит ее нет совсем)А ее нет, совсем нет. Нет даже прямого объявления интерфейса, компилятором за интерфейс считается объявление класса.

ATM-TURBO 2а она есть А есть - костыли на IDL

ATM-TURBO 2Есть наследование интерфейсов и полиморфизм. Нет ни того ни другого. Чтобы наследовать интерфейсы, нужно изучить совершенно другой язык, язык описания интерфейсов - IDL. А а вместо прозрачного синтаксического полиморфизма - поипень с интерфейсами. Костыли есть, а синтаксических возможностей языка нет.

ATM-TURBO 2А то что VB6 - это COM ориентированный ЯП ты учитываешь? То что всегда любой класс в VB6 - это автоматически COM класс?Вообще наплевать.
ATM-TURBO 2Если это работает не так как тебе хочется - это не значит что это неправильно.Я не сказал, что это не правильно, это единственный выход. И выход этот - через жопу. И если единственный выход через жопу, то правильно его и использовать.

Элементарный пример: чтобы унаследовать реализацию в VB.NET нужно написать одно-единственное слово Implements и имя наследуемого класса. А как нужно извратиться на VB6, чтобы добиться того же самого?

ATM-TURBO 2Не понимаю как это относится к полиморфизму на основе интерфейсов.Никак, потому что это нормальный синтаксический полиморфизм, а не поипень с интерфейсами.

ATM-TURBO 2Не знаю в каком нужно быть состоянии чтобы смеяться над этим.В адекватном, попытайся в него, наконец, придти.

ATM-TURBO 2Да ладно, то-то в IClassFactory::CreateInstance pUnkOuter как костыль придумали.Это не для VB6 придумали, наоборот, VB6 придумали, чтобы скрыть эту тряхомудию от разработчика. Половину работы с COM скрыли от разработчика, вследствие этого простые вещи стали вообще элементарными, а непростые стали еще сложнее. Но это опять же не имеет никакого отношения к возможностям VB6 как языка, это имеет отношение к среде разработки и компилятору.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662292
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobyAntonariyпропущено...
ваше личное понимание ООП никого не волнует.

Вы сами принципиально не читаете то, на что ссылаетесь?

[spoiler ]сбрендившая википедияТо есть фактически речь идет о прогрессирующей организации информации согласно первичным семантическим критериям: «важное/неважное», «ключевое/подробности», «родительское/дочернее», «единое/множественное». Прогрессирование, в частности, на последнем этапе дает возможность перехода на следующий уровень детализации, что замыкает общий процесс.

Обычный человеческий язык в целом отражает идеологию ООП, начиная с инкапсуляции представления о предмете в виде его имени и заканчивая полиморфизмом использования слова в переносном смысле, что в итоге развивает[3] выражение представления через имя предмета до полноценного понятия-класса.дальше этот поток сознания нечетал.

высер обо всем и ниачом. а я здесь - конкретно о языке VB6 и его возможностях по сравнению с другими ООП-языками. не в состоянии придерживаться темы - побереги клавиатуру.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662299
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автородно-единственное слово ImplementsInherits же
совсем уже vb стал забывать с этим сишарпом
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662307
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyboobyпропущено...

Вы сами принципиально не читаете то, на что ссылаетесь?

[spoiler ]пропущено...
дальше этот поток сознания нечетал.

высер обо всем и ниачом. а я здесь - конкретно о языке VB6 и его возможностях по сравнению с другими ООП-языками. не в состоянии придерживаться темы - побереги клавиатуру.

тебе нет смысла начинать судить.
Ни о VB6 ни о "других ооп-языках" ни о "наследовании реализации".

Ты даже не смог сформулировать своими словами, что ты понимаешь под этой странной аббревиатурой - ооп.
Существо дела вскрывают твои взбздохи и придыхания по части "наследования реализации" - ничего содержательного ожидать не приходится.

А абстракция и полиморфизм, как независимые киты чего-то,
так и не получившего определения - всего лишь вишенка на торте
твоей беспросветной гордости от того, что ты ушел от VB6.

Ушел от того, чего не понимал, и с удовольствием продолжил заниматься тем,
смысл чего тебе даже не интересен.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662330
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторАкуеть. Я предъявляю претензии к языку VB6, его синтаксису, а меня пытаются разубедить с помощью другого языка. В адеквате вообще?
А давай вообще писать библиотеки на с++, в котором ООП-фарша вдвое больше, чем в VB6, подрубать к VB6 и мощно наслаждаться его "возможностями"?

Нет, ты либо сам не в адеквате, либо не помнишь о чем писал:
авторНет наследования и полиморфизма
Приведен пример с наследованием интерфейса в виде IDWriteTextRenderer и его реализация в VB6. Если бы это было невозможно, как ты утверждаешь, то на VB6 это реализовать не получилось от слова совсем (дословно "Нет наследования и полиморфизма"). Любой класс как минимум наследован от IDispatch и IUnknown. То что наследование интерфейсов реализовано в IDL - не имеет значения, это сродни высказыванию что в vb6 нет возможности проиграть звук, т.к. придется объявить внешнее API или подключить внешний компонент. Когда говорят что нет какой-то фичи, а она реализуется не так как ты привык - это не значит что это неправильно. Если есть контр-пример реальной задачи которую как ты говоришь не решить в ОО-парадигме VB6, прошу.

авторА ее нет, совсем нет. Нет даже прямого объявления интерфейса, компилятором за интерфейс считается объявление класса.
Ересь, что же тогда такое PublicNotCreateble? В C++ тоже самое, интерфейс - абстрактный класс, тебя это не смущает?

авторА есть - костыли на IDL
Костыли - потому что ты так сказал?

авторНет ни того ни другого. Чтобы наследовать интерфейсы, нужно изучить совершенно другой язык, язык описания интерфейсов - IDL. А а вместо прозрачного синтаксического полиморфизма - поипень с интерфейсами. Костыли есть, а синтаксических возможностей языка нет.
Опять-таки, приведи реальную задачу.

авторВообще наплевать.
Конечно тебе наплевать, ты вероятно не до конца прочитал то что я тебе написал.

авторЯ не сказал, что это не правильно, это единственный выход. И выход этот - через жопу. И если единственный выход через жопу, то правильно его и использовать.
Нет, ты сказал что этого вообще нет. Или ты уже так не считаешь?

авторЭлементарный пример: чтобы унаследовать реализацию в VB.NET нужно написать одно-единственное слово Implements и имя наследуемого класса. А как нужно извратиться на VB6, чтобы добиться того же самого?

Через включение. Далее зависит от задачи либо агрегировать, либо делать доп. перенаправление, либо делегировать напрямую внутреннему объекту. Этот путь считается более гибким:
авторВложенные объекты нового класса обычно объявляются закрытыми, что делает их недоступными для прикладных программистов, работающих с классом. С другой стороны, создатель класса может изменять эти объекты, не нарушая при этом работы существующего клиентского кода. Кроме того, замена вложенных объектов на стадии выполнения программы позволяет динамически изменять её поведение. Механизм наследования такой гибкостью не обладает, поскольку для производных классов устанавливаются ограничения, проверяемые на стадии компиляции.

авторНикак, потому что это нормальный синтаксический полиморфизм, а не поипень с интерфейсами.
Нормальный? Ты сказал? То-то в COM юзают интерфейсы из-за того что это "поипень".

авторВ адекватном, попытайся в него, наконец, придти.
Я сомневаюсь что в адекватном.

авторНо это опять же не имеет никакого отношения к возможностям VB6 как языка, это имеет отношение к среде разработки и компилятору.
Пфф... При чем тут тогда костыли, я не понял тебя? Я тебе скинул ссылку на книгу где это реализуется и привел нативную поддержку этого через юзерконтролы.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662345
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobyAntonariyпропущено...
дальше этот поток сознания нечетал.

высер обо всем и ниачом. а я здесь - конкретно о языке VB6 и его возможностях по сравнению с другими ООП-языками. не в состоянии придерживаться темы - побереги клавиатуру.

тебе нет смысла начинать судить.тебе нет смысла мне писать.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662432
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2 Приведен пример с наследованием интерфейса в виде IDWriteTextRendererПриведен пример наследования одного интерфейса от другого, выполенный на IDL (вероятно, tlb я не декомпилировал). Приведен пример реализации финального интерфейса, выполненный на VB6. Нет примера наследования одного интерфейса от другого на VB6, и быть не может. Потому что нет в VB наследований интерфейсов, есть только объявления и реализации.

ATM-TURBO 2 Ересь, что же тогда такое PublicNotCreateble?Модификатор класса, фишка IDE и компилятора VB6 - она даже не в синтаксисе языка реализована. Впрочем это не важно, фишка штатная и легко доступная. В VB.NET тоже самое делается так:
Код: vbnet
1.
Friend Sub New()

Но мои-то претензии о том, чего нет, а не о том, что есть. Есть такая штатная возможность - прекрасно, и я ей пользовался. Единственный минус - среда не предупредит заранее о невозможности создать класс до тех пор пока не произойдет попытка создания. Впрочем, .NET-среда вроде тоже не предупреждает.

ATM-TURBO 2Костыли - потому что ты так сказал?Потому что логика. Слышал о такой науке? Если человеку трудно ходить ногами, он берет в помощь костыли. Если VB6 не умеет наследовать интерфейсы, он берет в помощь IDL. Следовательно, IDL для VB6 это тоже самое, что костыли для человека.

ATM-TURBO 2Опять-таки, приведи реальную задачу.Реальных задач с наследованием интерфейсов у меня нет, а пример пожалуйста:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Interface I1
    Sub S1()
End Interface

Interface I2
    Inherits I1 'интерфейс I1 наследует интерфейс I2 

    Sub S2()
End Interface

Class C1
    Implements I2 'класс C1 реализует интерфейс I2

    Public Sub S2() Implements I2.S2
        Throw New NotImplementedException()
    End Sub

    Public Sub S1() Implements I1.S1
        Throw New NotImplementedException()
    End Sub
End Class

Само собой, что Implements I2 это то же самое, что в VB6 Class C1 Implements I1, I2, но тут фишка в том, что при наличии множества классов, которые должны реализовывать несколько одних и тех же интерфейсов, можно объявить интерфейс-агрегат и не забивать себе голову списком всех необходимых интерфейсов. Не сильно востребованная фишка в реальной жизни, но про "наследование интерфейсов" ты первый высказался, так что я не мог обойти эту тему вниманием.

ATM-TURBO 2Конечно тебе наплевать, ты вероятно не до конца прочитал то что я тебе написал.Наплевать заранее, еще до чтения тебя. Потому что COM возможности VB6 не определяет. Ну то есть вообще. COM это технология доступа к программным объектам, разбросанным по разным файлам, через реестр операционной системы. На каком языке пишутся COM-библиотеки, из каких языков к ним обращаются - абсолютно не важно, в библиотеках нет никакого ООП. В нем есть лишь плоская таблица экспорта методов, и даже наличие tlb опционально. Описание интерфейса и типов нужно лишь на этапе разработки/компиляции или при позднем связывании.

ATM-TURBO 2Нет, ты сказал что этого вообще нет. Или ты уже так не считаешь?
Я сказал, что этого нет в языке . За рамками языка, его синтаксиса, то есть через жопу с костылями - есть.

ATM-TURBO 2Нормальный? Ты сказал? То-то в COM юзают интерфейсы из-за того что это "поипень".Да, я сказал. А еще я сказал, что поипень это полиморфизм на основе интерфейсов, а не сами интерфейсы. Я внимательно слежу за тем, что говорю.

ATM-TURBO 2Через включение.Объявить базовый объект в приватной переменной, пробросить свойства и методы... То есть всю ту мутоту, которую по сути делает за программиста компилятор в приличном ООП-языке, нужно колбасить вручную.

По-честному это называется просто - в VB6 нет наследования. Его нужно делать . Своими руками. Хоть и без сторонних костылей, как с наследованием интерфейсов.

Мартышкин труд я это называю.

ATM-TURBO 2Пфф... При чем тут тогда костыли, я не понял тебя? Я тебе скинул ссылку на книгу где это реализуется и привел нативную поддержку этого через юзерконтролы.Если для того, чтобы сделать на VB6 элементарные вещи, входящие в базовую спецификацию иного приличного ООП-языка, требуется читать advanced талмуды энтузиастов-исследователей черезжопных маршрутов, то какие еще выводы можно сделать?
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662440
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy...Ересь, что же тогда такое PublicNotCreateble?Модификатор класса, фишка IDE и компилятора VB6 - она даже не в синтаксисе языка реализована. Впрочем это не важно, фишка штатная и легко доступная. В VB.NET тоже самое делается так:
Код: vbnet
1.
Friend Sub New()


...[/quot]
Дружеский совет - завязывал бы ты со словесным поносом.
Читать тебя не смешно.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662451
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobyЧитать тебя не смешно.не читай, делов-то.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662508
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторПотому что нет в VB наследований интерфейсов, есть только объявления и реализации.
Блин ты определись сначала, то ты пишешь:
авторНет даже прямого объявления интерфейса
Теперь ты пишешь что объявление есть.
Далее я тебе написал:
авторТо что наследование интерфейсов реализовано в IDL - не имеет значения, это сродни высказыванию что в vb6 нет возможности проиграть звук, т.к. придется объявить внешнее API или подключить внешний компонент. Когда говорят что нет какой-то фичи, а она реализуется не так как ты привык - это не значит что это неправильно. Если есть контр-пример реальной задачи которую как ты говоришь не решить в ОО-парадигме VB6, прошу.
Можешь еще раз написать что в VB6 нет наследования интерфейсов, но там есть наследования, а нет возможности объявить интерфейс наследующий другой кроме IDispatch и IUnknown. Понимаешь разницу между нет наследования и нет возможности объявить такой интерфейс ? Когда нет наследования - означает что нет вообще возможности использовать данную фичу, но как-то получается что такая возможность есть, хоть и интерфейс объявлен в IDL. Опять это тоже самое что говорить что в VB6 нельзя проиграть звук, т.к. нужно использовать внешние компоненты.

авторМодификатор класса, фишка IDE и компилятора VB6 - она даже не в синтаксисе языка реализована
Нет, это возможность которой как ты говорил нет.

авторНо мои-то претензии о том, чего нет, а не о том, что есть. Есть такая штатная возможность - прекрасно, и я ей пользовался.
Нет, ты писал:
авторА ее нет, совсем нет. Нет даже прямого объявления интерфейса, компилятором за интерфейс считается объявление класса.

авторПотому что логика. Слышал о такой науке? Если человеку трудно ходить ногами, он берет в помощь костыли. Если VB6 не умеет наследовать интерфейсы, он берет в помощь IDL. Следовательно, IDL для VB6 это тоже самое, что костыли для человека.
Нет, по твоей логике любая внешняя dll - костыли? Если человеку нужно проиграть видео, он берет костыли в виде dll.

авторРеальных задач с наследованием интерфейсов у меня нет, а пример пожалуйста:
Очень реальная задача . Ты критикуешь существующую парадигму, приведи реальный пример. Если нужно именно средствами VB6 расширить функциональность интерфейса - просто объявляется новый интерфейс и имплементируется классом. Все. Расширенный функционал будет просто запрашивать новый интерфейс для новых фич.

авторCOM это технология доступа к программным объектам, разбросанным по разным файлам, через реестр операционной системы.
Что? А расскажи пожалуйста когда используется реестр (в том виде в котором ты описываешь технологию) для работы с COM объектами Direct3D?

авторв библиотеках нет никакого ООП
Что за ересь?
авторThe Microsoft Component Object Model (COM) is a platform-independent, distributed, object-oriented system for creating binary software components that can interact. COM is the foundation technology for Microsoft's OLE (compound documents), ActiveX (Internet-enabled components), as well as others.
Что это по твоему?

авторЯ сказал, что этого нет в языке. За рамками языка, его синтаксиса, то есть через жопу с костылями - есть.
Нет, ты так не говорил:
авторНет наследования и полиморфизма.
Пример я привел. Наследование интерфейсов есть в рамках IDL, наследование реализации есть в рамках включения, полиморфизм есть на основе интерфейсов. А то что ты называешь это через жопу - это твоё, никому не нужное мнение.

автор А еще я сказал, что поипень это полиморфизм на основе интерфейсов, а не сами интерфейсы.
Пфф. А для чего интерфейсы вообще нужны?
авторИспользование интерфейсов — один из вариантов обеспечения полиморфизма в объектных языках и средах. Все классы, реализующие один и тот же интерфейс, с точки зрения определяемого ими поведения, ведут себя внешне одинаково. Это позволяет писать обобщённые алгоритмы обработки данных, использующие в качестве типов параметры интерфейсов, и применять их к объектам различных типов, всякий раз получая требуемый результат.
Опять-таки, "поипень" - это твое, никому не нужное мнение. Если есть пример реальной задачи, тогда мы можешь подискутировать что есть "поипень".

авторОбъявить базовый объект в приватной переменной, пробросить свойства и методы... То есть всю ту мутоту, которую по сути делает за программиста компилятор в приличном ООП-языке, нужно колбасить вручную.
Не обязательно, в той книге (которую ты проигнорировал) есть и другие методы.

авторМартышкин труд я это называю.
Называй как хочешь, многим наплевать на это.

авторЕсли для того, чтобы сделать на VB6 элементарные вещи, входящие в базовую спецификацию иного приличного ООП-языка, требуется читать advanced талмуды энтузиастов-исследователей черезжопных маршрутов, то какие еще выводы можно сделать?
авторприличного ООП-языка
Критерии?
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662579
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2Блин ты определись сначала, то ты пишешь:Ты сначала читать научись и понимать смысл прочитанного. Прямого объявления нет, а кривое есть. Прямое означает, что сам способ объявления не оставляет сомнения: это - задекларирован интерфейс, а не класс-пустышка. И совершенно наплевать, как это представляется в COM, речь я веду вообще не о нем, а о конкретном языке с конкретным синтаксисом.

ATM-TURBO 2Понимаешь разницу между нет наследования и нет возможности объявить такой интерфейс? Когда нет наследования - означает что нет вообще возможности использовать данную фичу, но как-то получается что такая возможность есть, хоть и интерфейс объявлен в IDL.А ты понимаешь, что я вообще даже пальцем не хочу касаться IDL? Я все хочу делать на ОДНОМ языке. И возможности такой в VB6 НЕТ .

ATM-TURBO 2Нет, это возможность которой как ты говорил нет. Строго говоря я писал о модификаторах ЧЛЕНОВ класса, реализующих идею полиморфизма, а не модификаторах класса. Но если ты не умеешь читать или понимать смысл прочитанного или не отличаешь членов класса от самого класса, то я тут причем?

ATM-TURBO 2Пример я привел. Наследование интерфейсов есть в рамках IDL, наследование реализации есть в рамках включенияИ нихрена этого нет в рамках синтаксиса или хотя бы элементов IDE как с PublicNotCreateable. И все это нужно делать руками. Да ну нафиг.

ATM-TURBO 2Ты критикуешь существующую парадигмуТы даже не понимаешь, что я критикую. Я критикую не "парадигму", с ней у VB6 все в порядке, я критикую конкретные недостатки. А именно - куцый ООП. Еще могу покритиковать туповатую IDE, но проблемы IDE не принципиальны, кто-то тут показывал примочку для .net студии, позволяющую вести разработку на VB6 в ней (не смотрел).

А вот проблемы синтаксиса так просто не решить. Чтобы добавить в VB6 поддержку ключевого слова Inherits, нужно либо переписать компилятор, либо написать прокладку между IDE и компилятором, превращающую слово Inherits в портянку кода, реализующую агрегацию или перенаправление или еще что.

ATM-TURBO 2Если нужно именно средствами VB6 расширить функциональность интерфейсаНет, не нужно. Нужно унаследовать один интерфейс от другого. Ты этого пока не понимаешь, но это разные вещи.

ATM-TURBO 2А расскажи пожалуйста когда используется реестр (в том виде в котором ты описываешь технологию) для работы с COM объектами Direct3D? На этапе разработки и компиляции. После компиляции, если нет позднего связывания, в вызывающей библиотеке остается лишь адрес метода в таблице экспорта вызываемой библиотеки. Адрес это порядковый номер члена интерфейса, умноженный на 4 байта (для х86, для х64 - 8 байт).

Ты же слышал, что раннее связывание работает быстрее позднего? Вот поэтому и быстрее - при раннем связывании программа сразу знает все необходимые адреса, которые нужно дергать: путь к библиотеке (это либо своя папка либо поиск по путям из environment, иначе can't create object), собственный адрес в памяти, смещение библиотеки, смещение метода в библиотеке.

А как работает позднее связывание? А при позднем связывании программа сначала идет в реестр за ProgID "MyLib.MyClass", потом идет в реестр за CLSID, значение которого указано в ветке ProgID, потом снова идет в реестр за путем к библиотеке, который указан в ветке InProcServer в недрах соответствующего CLSID, потом загружает библиотеку в свое адресное пространство, потом извлекает из нее tlb и узнает из него порядковый номер интерфейса MyClass, создавая объект его типа (т.е. выделяя память под приватные переменные), и номер члена MyClass.MyMethod, и вот, наконец, у нее есть все данные, чтобы вычислить физический адрес метода MyMethod и дернуть его.

Вот так работает COM.

ATM-TURBO 2Что это по твоему?Это твоя хроническая привычка валить все в одну кучу. Оbject-oriented system здесь означает, что система ориентирована для разработки с применением языков, поддерживающих ООП-парадигму. Сама система от ООП содержит лишь описание интерфейсов в tlb в терминах ООП, и именно это описание является ориентацией на ООП-разработку. И эта ориентация совершенно не мешает использовать те же COM-библиотеки в языках, ООП не поддерживающих, например ассемблере. Просто служебные вызовы типа AddRef и Release нужно будет делать вручную.

ATM-TURBO 2Пфф. А для чего интерфейсы вообще нужны?
авторИспользование интерфейсов — один из вариантов обеспечения полиморфизмаУгу, один из. Когда другие недоступны, и он сойдет. Как раз случай VB6.

Интерфейсы нужны для строгой объектной типизации в первую очередь. Для гарантии того, что разные классы будут иметь одинаковый набор членов. Полиморфизм "на интерфейсах" не позволяет изменить сигнатуру метода, сам смысл интерфейса это прямо запрещает. Он не позволяет заместить один метод другим методом, он лишь позволяет размножить один и тот же метод. А если интерфейсов с одним и тем же методом много, и по смыслу методы должны замещать друг друга, то выяснение, который является финальным, превращается в угадайку или глубинное исследование исходников. У меня как-то было четырехуровневое наследование с переопределением метода, и если бы это делалось на интерфейсах, то код превратился бы в кашу.

ATM-TURBO 2А то что ты называешь это через жопу - это твоё, никому не нужное мнение.Насколько оно тебе не нужно ты уже почти сутки демонстрируешь.

ATM-TURBO 2Называй как хочешь, многим наплевать на это.Некоторым наплевать и на собственное положение мартышки, тратящей силы на то, на что хомо сапиенс силы тратить не должен.

ATM-TURBO 2Критерии?Поддержка полноценного ООП на уровне синтаксиса, а не сторонних костылей или advanced методов.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662616
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторТы сначала читать научись и понимать смысл прочитанного.
Ты сначала научись ясно илагать мысли, тогда и вопросы отпадут.

авторПрямое означает, что сам способ объявления не оставляет сомнения: это - задекларирован интерфейс, а не класс-пустышка. И совершенно наплевать, как это представляется в COM, речь я веду вообще не о нем, а о конкретном языке с конкретным синтаксисом.
Прямого нет и в C++, там интерфейс - это также класс пустышка.

авторА ты понимаешь, что я вообще даже пальцем не хочу касаться IDL? Я все хочу делать на ОДНОМ языке. И возможности такой в VB6 НЕТ.
Да наплевать как ты хочешь. Вещи устроены так как устроены, а если тебе не нравится как это устроено это не означает что этих вещей нет или они как-то криво устроены.

авторНо если ты не умеешь читать или понимать смысл прочитанного или не отличаешь членов класса от самого класса, то я тут причем?
Если ты не можешь излагать свои мысли - я то тут причем? Ты писал об объявлении интерфейса, а не об "о модификаторах ЧЛЕНОВ класса", тебе как пример привел абстракнтый класс в C++. Тебя это не смущает почему там интерфейс объявляется также через класс?

авторИ нихрена этого нет в рамках синтаксиса или хотя бы элементов IDE как с PublicNotCreateable. И все это нужно делать руками. Да ну нафиг.
Да наплевать, раз оно делается не так как хочешь ты - это не значит что этого нет.

авторТы даже не понимаешь, что я критикую. Я критикую не "парадигму", с ней у VB6 все в порядке, я критикую конкретные недостатки. А именно - куцый ООП.
А ООП - это не парадигма? Ты критикуешь недостатки, но не можешь привести реальную задачу который невозможно выполнить в рамках "куцого" ООП VB6.

авторНет, не нужно. Нужно унаследовать один интерфейс от другого. Ты этого пока не понимаешь, но это разные вещи.
Я прекрасно это понимаю, и показал пример. А ты не можешь объяснить для чего ты хочешь наследовать интерфейс. Интерфейс наследуется как-раз для расширения функционала (IClassFactory/IClassFactory2 и т.п.), но расширить функционал также можно реализовав отдельный интерфейс.

авторНа этапе разработки и компиляции. После компиляции, если нет позднего связывания, в вызывающей библиотеке остается лишь адрес метода в таблице экспорта вызываемой библиотеки. Адрес это порядковый номер члена интерфейса, умноженный на 4 байта (для х86, для х64 - 8 байт).
Причем тут реестр? Я конкретно спросил про Direct3D.

авторВот так работает COM.
Я без тебя прекрасно знаю как работает COM. Я тебе задал конкретный вопрос на который ты не ответил.

авторНасколько оно тебе не нужно ты уже почти сутки демонстрируешь.
Что я демонстрирую? Я просто отвечаю на твои вопросы. Ты спорол чушь сказав что чего-то там нет, тебе показали примеры, а ты ими не доволен. Нет это ты здесь демонстрируешь что-то, то ли просто чтобы показать что ты тут есть то ли еще зачем-то.

авторНекоторым наплевать и на собственное положение мартышки, тратящей силы на то, на что хомо сапиенс силы тратить не должен.
Расскажи это ребятам с vbforums.

авторПоддержка полноценного ООП на уровне синтаксиса, а не сторонних костылей или advanced методов.
авторполноценного ООП
Что значит полноценного? Ты можешь конкретно по пунктам описать. Множественное наследование - полноценное ООП? А без множественного? Уже не полноценное? Где описаны критерии полноценного ООП?
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662635
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2,
не кипятись.
множественное наследование есть во всех и до и недо-ооп.
В виде множественного наследования интерфейсов.
Причем в vb6/vba это сделано достоверно лучше, чем у "некоторых настоящих истинно и единственно правильных" (не будем называть этих самых известных и распространённых имен).

Что до наследования одного интерфейса другим.
там где это процесс, как говорит википукия "прогрессирующей организации информации согласно первичным семантическим критериям"
- что же, такова возможная, но не поощряемая селява абстрагирования через переписывания кода с расширением функционала в отсутствии времени на проектирование.

А там, это такое закладывается "архитектором" в начальной стадии как "фишка" проекта...
Тут тоже - что скажешь, какие только чудаки себя "архитекторами" не обзовут.
Это искусство, где каждое прибитое к булыжной мостовой личное яйцо - проявление высшей формы совершенства. Яичного.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662663
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2 Прямого нет и в C++, там интерфейс - это также класс пустышка.Наплевать на достоинства и недостатки с++, я им не пользуюсь. А VB6 хотелось бы, как раз из-за "парадигмы" но он синтаксически убог.

ATM-TURBO 2Вещи устроены так как устроены, а если тебе не нравится как это устроено это не означает что этих вещей нет или они как-то криво устроены.продолжай в том же духе, чо.




ATM-TURBO 2Если ты не можешь излагать свои мысли - я то тут причем? Ты писал об объявлении интерфейса, а не об "о модификаторах ЧЛЕНОВ класса"я писал о том и о другом, но ты же не в состоянии отделять мух от котлет. по поводу модификаторов я писал следующее:
автор где объявление обязательного к переопределению члена? где сокрытие? где хотя бы перегрузки?и излагая это я рассчитывал, что ты окажешься знаком с этими понятиями, а оказывается ты не в зуб ногой, и оказывается, что я обязан был раскрыть смысл каждого термина, чтобы тебе, неучу, было все понятно.

ATM-TURBO 2Да наплевать, раз оно делается не так как хочешь ты - это не значит что этого нет.а я разве сказал, что этого нет? я сказал, что это говно.

ATM-TURBO 2Ты критикуешь недостатки, но не можешь привести реальную задачу который невозможно выполнить в рамках "куцого" ООП VB6.А нафига мне ее приводить? Я разве утверждал, что что-то невозможно, кроме наследования интерфейсов? Я утверждал и продолжаю утверждать, что возможно. Но через жопу. И это недостаток.

ATM-TURBO 2Я прекрасно это понимаю, и показал пример. Пример на языке, который не является VB6. Понимание у тебя на уровне дятла - долбить, долбить, долбить. Вот только долбишь ты не дерево, а что-то покрепче твоего клюва.

ATM-TURBO 2А ты не можешь объяснить для чего ты хочешь наследовать интерфейс.Я тебе привел абстрактный пример с агрегацией интерфейсов, объяснил в чем сходство и отличие с VB6, в чем удобство по сравнению с VB6. Но ты ниасилил. Фу таким быть.

ATM-TURBO 2Я без тебя прекрасно знаю как работает COM.И при этом задаешь вопрос про реестр? У меня для тебя печальная новость: в твоих прекрасных знаниях есть ужасный пробел.

ATM-TURBO 2Причем тут реестр? Я конкретно спросил про Direct3D.ATM-TURBO 2А расскажи пожалуйста когда используется реестр ... для работы с COM объектами Direct3D?первое дно пробито, ТС собственные слова не розумиет. что-то нас ждет дальше?

что касается конкретно DirectХ, я с ним вообще не работал, но вряд ли для него придумали отдельный COM со своими правилами, блекджеком и шлюхами.

ATM-TURBO 2Я тебе задал конкретный вопрос на который ты не ответил.повторяем конкретный вопрос:
ATM-TURBO 2А расскажи пожалуйста когда используется реестр ... для работы с COM объектами Direct3D?конкретный ответ:
ATM-TURBO 2На этапе разработки и компиляции.и снова ты его ниасилил. и снова я виноват. тут какое понятие для тебя неподъемно, "разработка", "компиляция" или "этап"?

ATM-TURBO 2Я просто отвечаю на твои вопросы.ты просто вообще в неадеквате, у меня нет и не было к тебе вопросов. я заявил, что в VB6 куцый ООП, что является общеизвестным медицинским фактом со времен его появления (этот факт и породил высеры типа "Advanced Visual Basic 6 Power Techniques"), а у тебя с этого бомбануло, и ты мне с тех пор пытаешься доказывать, что дважды два это пять. ну так можешь не трудиться.

ATM-TURBO 2Что значит полноценного? Ты можешь конкретно по пунктам описать.еще раз? "четыре кита ООП" для тебя такая же невнятная муть как сокрытие и перегрузка членов класса?

ну так я повторяю:

1. абстрагирование
2. инкапсуляция
3. наследование
4. полиморфизм

и все это - на уровне синтаксиса, а не сторонних костылей и портянок левого кода.

дошло или еще повторить?

ATM-TURBO 2Множественное наследование - полноценное ООП?Это вообще было бы круто, без множественного наследования я тоже несколько раз страдал и находил выход через жопу (или не через жопу, но меняя всю архитектуру), но из тех языков, о которых я имею представление, оно есть только в плюсах.

ATM-TURBO 2Где описаны критерии полноценного ООП?В пп. 1-4, взятых из википедии. Казалось бы, очевидно, а поди ж ты, и это объяснять приходится.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662667
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
boobyATM-TURBO 2,
не кипятись.
множественное наследование есть во всех и до и недо-ооп.

Я знаю это, это Antonariy не знает видимо. Для него наследование - это обязательно наследование реализации и никак не другое, о чем мы тут и дискутируем впрочем.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662669
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobyATM-TURBO 2,
не кипятись.
множественное наследование есть во всех и до и недо-ооп.
по-профессиональному это звучит так: видимость наследования можно изобразить во всех и до и недо-ооп языках.
boobyВ виде множественного наследования интерфейсов.если хочешь стать профессионалом, постарайся прояснить для себя разницу между понятиями "наследование интерфейса" и "имплементация (реализация) интерфейса". ибо то, о чем ты говоришь - таки имплементация.

а наследование интерфейсов я встречал только в дотнете. и если ТС не тупит и не путает как всегда мух с котлетами, в IDL оно есть. сам я в такие дебри IDL не заходил.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662672
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2boobyATM-TURBO 2,
не кипятись.
множественное наследование есть во всех и до и недо-ооп.

Я знаю это, это Antonariy не знает видимо. Для него наследование - это обязательно наследование реализации и никак не другое, о чем мы тут и дискутируем впрочем.потому что наследование это и есть наследование реализации. а "наследование интерфейса", если не интерфейс его наследует, это имплементация (реализация) интерфейса. называть реализацию наследованием - абсолютно безграмотно.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662692
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторА VB6 хотелось бы, как раз из-за "парадигмы" но он синтаксически убог.
Нет, ты говоришь что в VB6 кривое ООП и как одним из критериев приводишь невозможность прямого объявления интерфейсов, но тебя не смущает тоже самое объявление в C++. Или в C++ это тоже криво сделано по-твоему?

авторпродолжай в том же духе, чо.
Это обычно у тебя так выглядят реализации? А чо?

автори излагая это я рассчитывал, что ты окажешься знаком с этими понятиями, а оказывается ты не в зуб ногой, и оказывается, что я обязан был раскрыть смысл каждого термина, чтобы тебе, неучу, было все понятно.
Это ты неуч, я тебе изначально говорил о интерфейсах. И ты, неуч, не можешь понять этого и приплетаешь мне наследование реализации. Специально для неучей привожу цитату из вики:
авторКласс может реализовывать интерфейс. Реализация интерфейса заключается в том, что в описании класса данный интерфейс указывается как реализуемый, а в коде класса обязательно определяются все методы , которые описаны в интерфейсе, в полном соответствии с сигнатурами из описания этого интерфейса. То есть, если класс реализует интерфейс, для любого экземпляра этого класса существуют и могут быть вызваны все описанные в интерфейсе методы. Один класс может реализовать несколько интерфейсов одновременно.
И зачем ты, неуч, приплел сюда модификаторы - одному тебе известно. Я прекрасно знаю о наследовании реализации, а если ты не можешь отделить как ты пишешь мух от котлет, и мешаешь интерфейсы и переопределяемые методы базового класса, то это ты неуч, а не я.

автора я разве сказал, что этого нет? я сказал, что это говно.
Да, ты сказал нет:
авторНет наследования и полиморфизма.

авторА нафига мне ее приводить? Я разве утверждал, что что-то невозможно, кроме наследования интерфейсов? Я утверждал и продолжаю утверждать, что возможно. Но через жопу. И это недостаток.
Через жопу? МБ ты это и делаешь через жопу. Да ты утверждал что невозможно:
авторНет наследования и полиморфизма.
Если бы ты написал что это работает "через жопу", я бы может даже на стал с тобой дискутировать тут.

авторПример на языке, который не является VB6. Понимание у тебя на уровне дятла - долбить, долбить, долбить. Вот только долбишь ты не дерево, а что-то покрепче твоего клюва.
Лол. Ну вроде EXE'шник, рантайм VB-шный. Ну ладно, пусть будет не на VB6. А серьезно, перечитай дискуссию, возможно придет просветление.

авторЯ тебе привел абстрактный пример с агрегацией интерфейсов, объяснил в чем сходство и отличие с VB6, в чем удобство по сравнению с VB6. Но ты ниасилил. Фу таким быть.
Я тебе привел пример как это делается в VB6, но если ты неасилил - это твоя проблема.

авторИ при этом задаешь вопрос про реестр? У меня для тебя печальная новость: в твоих прекрасных знаниях есть ужасный пробел.
Это в твоих знаниях есть пробел, ты даже не смог ответить на вопрос.

авторпервое дно пробито, ТС собственные слова не розумиет. что-то нас ждет дальше?
авторчто касается конкретно DirectХ, я с ним вообще не работал, но вряд ли для него придумали отдельный COM со своими правилами, блекджеком и шлюхами.
Что и требовалось доказать, я с ним вообще не работал . Ну посмотри прежде чем писать ересь тут.

автори снова ты его ниасилил. и снова я виноват. тут какое понятие для тебя неподъемно, "разработка", "компиляция" или "этап"?
Лол, объясни мне зачем тут реестр? Это ты ниасили свою же писанину:
авторНа этапе разработки и компиляции. После компиляции, если нет позднего связывания, в вызывающей библиотеке остается лишь адрес метода в таблице экспорта вызываемой библиотеки. Адрес это порядковый номер члена интерфейса, умноженный на 4 байта (для х86, для х64 - 8 байт).

Ты же слышал, что раннее связывание работает быстрее позднего? Вот поэтому и быстрее - при раннем связывании программа сразу знает все необходимые адреса, которые нужно дергать: путь к библиотеке (это либо своя папка либо поиск по путям из environment, иначе can't create object), собственный адрес в памяти, смещение библиотеки, смещение метода в библиотеке.
Причем тут реестр? Еще раз для трудных - ПРИЧЕМ ТУТ РЕЕСТР?

авторты просто вообще в неадеквате, у меня нет и не было к тебе вопросов. я заявил, что в VB6 куцый ООП, что является общеизвестным медицинским фактом со времен его появления (этот факт и породил высеры типа "Advanced Visual Basic 6 Power Techniques"), а у тебя с этого бомбануло, и ты мне с тех пор пытаешься доказывать, что дважды два это пять. ну так можешь не трудиться.
Заметь, я не утверждал что в VB какой-то особый ООП, это во-первых. Во-вторых, я у тебя спросил - чем не устраивает то что имеем - и тут тебя понесло. Все что я предлагал, это то как это можно решить. И ты ошибаешься у меня не бобануло ниразу.

автор1. абстрагирование
2. инкапсуляция
3. наследование
4. полиморфизм

и все это - на уровне синтаксиса, а не сторонних костылей и портянок левого кода.

дошло или еще повторить?

1. Абстрагирование - есть.
2. Инкапсуляция - есть.
3. Наследование - можно реализовать через включение (агрегирование).
4. Полиморфизм есть.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662694
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariyпотому что наследование это и есть наследование реализации. а "наследование интерфейса", если не интерфейс его наследует, это имплементация (реализация) интерфейса. называть реализацию наследованием - абсолютно безграмотно.
Ну во смотри, в C++ это:
Код: plaintext
1.
calss A : public B


Это наследование? Наследование.
А если класс B - абстрактный, т.е. интерфейс. Это уже не наследование? Синтаксически - это одно и тоже.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662715
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2Нет, ты говоришь что в VB6 кривое ООП и как одним из критериев приводишь невозможность прямого объявления интерфейсовда к слову пришлось, это не принципиально так же как и указание модификатора класса через IDE. это уже элемент перфекционизма, а не насущная необходимость.

ATM-TURBO 2 но тебя не смущает тоже самое объявление в C++я C++ принципиально в гробу видал, я им не пользуюсь, почему оно должно меня как-то смущать? впрочем, у C++ тоже есть вагон критики, но она тут никого не колышет, начиная с меня.

ATM-TURBO 2Это обычно у тебя так выглядят реализации?нет, это у тебя с твоими Advanced Power Techniques. у меня это одно-единственное слово Inherits.

ATM-TURBO 2Это ты неуч, я тебе изначально говорил о интерфейсах.и говоря об интерфейсах, ты с первой же фразы съехал с чисто VB6 на COM и IDL. к которым у меня претензий нет. то есть ты изначально говорил не о том. изначально не видя разницы между наследованием и имплементацией. и я после этого неуч.

ATM-TURBO 2И зачем ты, неуч, приплел сюда модификаторына самом деле вопрос другой: зачем, ты, неуч, приплел сюда COM? скудный набор модификаторов - моя фундаментальна претензия к ООП в VB6, и то, что она всплыла после того, как ты высрался не по делу насчет COM, не является следствием твоего высера.

ATM-TURBO 2Да ты утверждал что невозможно:подразумевалось средствами синтаксиса, а не кучей левого говнокода. я не ожидал, что понятие "язык программирования" для тебя распространяется за рамки синтаксиса, IDE и компилятора аж на архитектуру операционной системы - COM.

я несколько раз выделил слово ЯЗЫК, но до тебя доходит как до жирафа, может пятый сайз дойдет, и ты осознаешь, что мои претензии не распространяются за рамки синтаксиса и немного IDE?

мухи и котлеты, люди и кони, все смешалось в доме облонских.

ATM-TURBO 2Лол. Ну вроде EXE'шник, рантайм VB-шный.Лол, я вроде про язык говорю, про исходники. А не бинарники. Но всем покуй.

ATM-TURBO 2Я тебе привел пример как это делается в VB6, но если ты неасилил - это твоя проблема.Я его осилил просто посмотрев набор файлов и не обнаружив не одного cls. Где интерфейсы? А нет их в исходниках, они скомпилированы в tlb. Который меня не колышет ни капли.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662724
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2 Что и требовалось доказать, я с ним вообще не работал. Ну посмотри прежде чем писать ересь тут. Ой, а ты что-то доказывал? А я и не заметил. А что смотреть-то, что ты доказывал конкретно директиксом?

ATM-TURBO 2Причем тут реестр? Еще раз для трудных - ПРИЧЕМ ТУТ РЕЕСТР?А откуда по-твоему берется эта инфа в списке?



ATM-TURBO 2 Заметь, я не утверждал что в VB какой-то особый ООП, это во-первых.Именно поэтому ты в неадеквате. В VB именно особый ООП, кастрированный ровно на половину.

ATM-TURBO 2Во-вторых, я у тебя спросил - чем не устраивает то что имеем - и тут тебя понесло.Как что-то плохое.
Когда кого-то что-то не устраивает, понос у него - обычное дело.

ATM-TURBO 2Все что я предлагал, это то как это можно решить.меня не устраивают черезжопные решения.

ATM-TURBO 23. Наследование - можно реализовать через жопу.
а не единственным элементом синтаксиса - словом Inherits.

ATM-TURBO 24. Полиморфизм есть.жалкое убожество. но и с ним я бы смирился, если бы не полная жопа с наследованием.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662726
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2Antonariyпотому что наследование это и есть наследование реализации. а "наследование интерфейса", если не интерфейс его наследует, это имплементация (реализация) интерфейса. называть реализацию наследованием - абсолютно безграмотно.
Ну во смотри, в C++ дальше не читал, плюсы не интересуют.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662727
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл

ATM-TURBO 2И ты ошибаешься у меня не бобануло ниразу.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662732
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторя C++ принципиально в гробу видал, я им не пользуюсь, почему оно должно меня как-то смущать? впрочем, у C++ тоже есть вагон критики, но она тут никого не колышет, начиная с меня.
Лол, ты мне приводишь доводы убогости ООП в VB6, когда я тебя ткнул в язык в котором реализованы все пункты ООП о которых ты писал и в котором теже интерфейсы объявляются через классы - ты слился.

автори говоря об интерфейсах, ты с первой же фразы съехал с чисто VB6 на COM и IDL. к которым у меня претензий нет. то есть ты изначально говорил не о том. изначально не видя разницы между наследованием и имплементацией. и я после этого неуч.
Я знал об этой разнице, пожалуйста не нужно мне приписывать свои фантазии, я тебе изначально писал об наследовании интерфейсов. Про IDL я уже устал тебе писать, впрочем, думай как хочешь.

авторна самом деле вопрос другой: зачем, ты, неуч, приплел сюда COM? скудный набор модификаторов - моя фундаментальна претензия к ООП в VB6, и то, что она всплыла после того, как ты высрался не по делу насчет COM, не является следствием твоего высера.
Ты, неуч, высрал свой бред об модификаторах интерфейсов, а теперь когда тебе показали что при реализации интерфейса весь набор методов реализуется и модификаторы не нужны (на самом деле они есть в Procedure Attributes задаются, но они совершенно не имеют отношения к обсуждаемому), ты начал пороть какую-то чушь съезжая на переопределение методов базового класса о которых никто тут речи не вел вообще.

авторподразумевалось средствами синтаксиса, а не кучей левого говнокода. я не ожидал, что понятие "язык программирования" для тебя распространяется за рамки синтаксиса, IDE и компилятора аж на архитектуру операционной системы - COM.
Что ты там подразумевал понятно только тебе одному. Я тебе привел пример с внешним API и DLL. Архитектура операционной системы? Лолшто? COM - это вообще платформо-независимая модель. Конечно, если ты не в состоянии понять что VB6 - это язык базирующийся на COM то для тебя COM и VB6 - неродственны и ты будешь упорно отрицать этот факт.

авторЛол, я вроде про язык говорю, про исходники. А не бинарники. Но всем покуй.
Ты ересь пишешь, я тебе скинул ссылку на проект с исходниками на VB6. То что интерфейсы объявлены в TLB никого не волнует кроме тебя, они работают в VB6.

авторЯ его осилил просто посмотрев набор файлов и не обнаружив не одного cls. Где интерфейсы? А нет их в исходниках, они скомпилированы в tlb. Который меня не колышет ни капли
Ты смотри то что процитировано, я тебе говорил о таком же абстрактном примере с интерфейсами:
авторА ты не можешь объяснить для чего ты хочешь наследовать интерфейс. Интерфейс наследуется как-раз для расширения функционала (IClassFactory/IClassFactory2 и т.п.), но расширить функционал также можно реализовав отдельный интерфейс.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662735
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторОй, а ты что-то доказывал? А я и не заметил. А что смотреть-то, что ты доказывал конкретно директиксом?
То что ты неуч. Реестр не используется никак при реализации и работе именно COM в DirectX. Объект создается вызовом функции и реестр здесь не играет никакой роли.

авторА откуда по-твоему берется эта инфа в списке?
Она может браться из разных мест. Создай ActiveX проект, добавь StandardEXE проект и выбери в референсах ссылку на ActiveX проект, что из реестра берется? Пробовал запускать VB без админских прав? Как же там работает tlb и почему она пропадает в списке после закрытия проекта?

авторИменно поэтому ты в неадеквате. В VB именно особый ООП, кастрированный ровно на половину.
авторменя не устраивают черезжопные решения.
авторжопу. а не единственным элементом синтаксиса - словом Inherits.
Нет, это ты в неадеквате. VB6 - COM ориентированный, сама COM технология является объектно-ориентированной. В COM наследование реализации делается не так как ты хочешь :
авторThe preferred method of "inheritance" within COM is the creation of sub-objects to which method "calls" are delegated.
Повторюсь, вещи работают так как работают, ну а собака лает...

автордальше не читал, плюсы не интересуют.
Ага, конечно, только что мне втирал про классы вместо интерфейсов и реализацию вместо наследования, когда его ткнули в полноценный ООП язык с таким же подходом - слился.

авторзабыл
Только в твоих мечтах. Проецируешь?
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662748
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2 Лол, ты мне приводишь доводы убогости ООП в VB6, когда я тебя ткнул в язык в котором реализованы все пункты ООП о которых ты писал и в котором теже интерфейсы объявляются через классы - ты слился.А что я должен делать, если вместо обсуждения VB6 ты переводишь стрелки на иные языки? Идти на поводу? Обломись.
Мне как-то посрать, как там объявляются интерфейсы, я не собираюсь их там объявлять.

ATM-TURBO 2Я знал об этой разницевот только сказать не мог. комплекс каштанки.

ATM-TURBO 2пожалуйста не нужно мне приписывать свои фантазииа за каштанку только и остается, что фантазировать.

ATM-TURBO 2я тебе изначально писал об наследовании интерфейсовнаследовании на IDL. а не VB6. как оказалось, на VB6 кроме объявления и имплементации с интерфейсами нихрена не изобразишь.

ATM-TURBO 2Про IDL я уже устал тебе писать, впрочем, думай как хочешь.Изначально не надо было писать. А что я думаю, я уже говорил не раз - ты неадекват. VB6 от IDL не отличаешь. А казалось бы, и синтаксис разный, и среда разработки разная, и компилятор разный. Все разное. А для тебя разницы нет.

ATM-TURBO 2Ты, неуч, высрал свой бред об модификаторах интерфейсовбред в твоей голове - результат твоего неадекатного восприятия, неумения читать, невладения понятиями. я писал про модификаторы членов классов, потому что не позволяют интерфейсы члены модифицировать (о чем я тоже написал совершенно прямо и недвусмысленно: 21504000 ).
и ты сам понял, что речь-то о классах, притащив PublicNotCreateable, но не понял поначалу, что о его членах. а теперь еще раз решил в прыжке переобуться? ишь, попрыгунчик.

к слову, модификаторов классов в VB.NET тоже побогаче будет.

ATM-TURBO 2То что интерфейсы объявлены в TLB никого не волнует кроме тебяВот именно, я говорю о том, что волнует лично меня, как же долго до тебя это доходило. В гробу я видал их в tlb объявлять, мне нафиг не нужно com-интерфейсы наследовать. Мне нужно наследовать друг от друга интерфейсы бизнес-логики, и я не хочу пользоваться для этого посторонними инструментами в виде IDL.

ATM-TURBO 2COM - это вообще платформо-независимая модель. https://ru.wikipedia.org/wiki/Component_Object_Model Стандарт COM мог бы быть универсальным и платформо-независимым, но закрепился в основном на операционных системах семейства Microsoft Windows.и react os, надо полагать.
не густо.
и не имеет значения, я-то о языке VB6 пытаюсь речь вести.

а что там дальше по ссылке?

авторТехнология часто критикуется за неоправданную сложность, конкретно:

необходимость использования двух языков программирования (.idl для описания интерфейсов и, обычно, C++ для написания реализаций)опаньки. два языка. ровно та же претензия к интерфейсам, что и у меня.
впрочем, в нашем случае вторым языком выступает VB6, которому совершенно не требуется idl (почему он и является com-ориентированным). до тех пор, пока не нужно наследовать интерфейсы.

авторнеобходимость регистрации компонент в реестре операционной системы, причем при этом в качестве идентификатора класса используется нечитаемый человеком GUID (хотя его и возможно дополнить читаемым именем).а вот и реестр.
ты не видишь, что директикс использует реестр? а он использует. (с) суслик

Остальная критика с моими волнениями не пересекается. Поскольку касается COM, а не языка VB6. Возня с реестром тоже не волнует, поскольку она автоматическая и опять же часть COM, а не языка VB6.

Изюминка:

авторЗаметно, однако, что многие из этих недостатков являются платой за достоинство COM — независимость от языка программирования и исполняющей среды, и не существуют в «истинно объектных» языках, таких, как C# , или же (прекращенная) реализация Java компании Microsoft. Эти языки предоставляют и полную runtime type information, и отсутствие необходимости регистрации, и возможность написания как интерфейсов, так и классов стандартным для языка образом, без «прокладок» вроде ATL.а уж каковы возможности описания интерфейсов и классов - VB6 просто отдыхает.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662751
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2То что ты неуч. Реестр не используется никак при реализации и работе именно COM в DirectX. Объект создается вызовом функции и реестр здесь не играет никакой роли.смешной ты. :) а информация о функции, которую вызывают, чтобы объект создать, откуда берется?

ATM-TURBO 2Нет, это ты в неадеквате. VB6 - COM ориентированныйа я с этим спорил что ли? наоборот, несколько раз подтвердил.

что за привычка обвинять меня в том, чего я не делал?

ATM-TURBO 2сама COM технология является объектно-ориентированной.а ее я вообще обсуждать не хотел.

мысль моя в том, что язык VB6 по своим возможностям объектно-полуориентированный. наследование через жопу, и убогий полиморфизм.

и это я еще не касался слабого контроля ошибок, вина за который лежит на IDE в основном. и не буду, у тебя и так каску рвет вокруг совершенно посторонних тем типа COM.

ATM-TURBO 2Повторюсь, вещи работают так как работают, ну а собака лает...Ты поступил очень адекватно, решив полаять в ответ. Адекватно для каштанки.

ATM-TURBO 2Ага, конечно, только что мне втирал про классы вместо интерфейсов и реализацию вместо наследования, когда его ткнули в полноценный ООП язык с таким же подходом - слился.да, пубсег, я не собираюсь обсуждать плюсы, поскольку не собираюсь их использовать. если бы использовал, то может и вылил бы ушат помоев по аналогичным поводам, но нет их, поводов-то. можешь еще несколько языков перечислить, по большинству я тоже сольюсь, поскольку не использую и не собираюсь. не проблема.

а вот от использования VB6 в отдельных случаях не отказался бы. но мне тесно и уныло в его бедном синтаксисе.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662752
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyа наследование интерфейсов я встречал только в дотнете.
Здасьте. И почему это должно быть моей проблемой?

я уже говорил, что читать тебя не смешно, а ты сопротивляешься.
Просто поверь - до королей стендапа - тебе гораздо дальше, чем до соседней галактики.

Antonariy... постарайся прояснить для себя разницу между понятиями "наследование интерфейса" и "имплементация (реализация) интерфейса". ибо то, о чем ты говоришь - таки имплементация.

а) в то, что это "шутка", ты не оставляешь возможности поверить.
Поэтому, принимая то, что ты говоришь за то, что ты думаешь, не остаётся иного шанса, как
сказать - перестань употреблять слова, смысла которых ты не понимаешь .

б) наследование реализации не только не является "центром ООП",
но даже никакой специальной ценности в программировании не представляет.

За исключением единственного случая, где оно сумело прижиться относительно гармонично.
И это - проектирование визуальных интерфейсов.
Очень специальная и очень специфическая область программирования.
Уж точно не стоящая того количества слюны, которое ты расходуешь в этом топике.

Нелепыми, за гранью здравыми смысла утверждениями, ты заставляешь продолжать с тобой разговор.
Балансируя между мелкими неточностями и невообразимой ложью и нелепицей.
Сдабривая бессмыслицей и противоречиями в рамках одного предложения.
Я не знаю, зачем ты это делаешь вообще,
и в этом конкретном топике в частности.

Ты хочешь, чтобы тебя пожалели?
Я не буду этого делать.
Ты сам как писатель своих текстов, так и творитель свой собственной судьбы.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662753
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2Она может браться из разных мест.Она может браться из трех мест, дотошный ты наш. Из реестра, vbg и при выборе файла. Но вся эта портянка не может быть результатом выбора файлов или проектной группой, ага? Следовательно, чуть менее чем все пункты почерпнуты из реестра.

ATM-TURBO 2Как же там работает tlb и почему она пропадает в списке после закрытия проекта?Если ты указываешь компилятору, где конкретно лежит описание интерфейса, нахрена ему в реестр за ним лазить? А то, что пропадает - непорядок, cсылки сохраняются в VBP-файле. Либо что-то глючит, либо ты снимаешь галочку и закрываешь проект. Либо ты снова попутал какие-то понятия.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662754
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobyAntonariyа наследование интерфейсов я встречал только в дотнете.
Здасьте. И почему это должно быть моей проблемой?

я уже говорил, что читать тебя не смешноТы хочешь, чтобы тебя пожалели? (с)
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662756
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy б) наследование реализации не только не является "центром ООП", А я разве говорил, что наследование реализации это "центр ООП"? Я вообще не употреблял слово центр, нехер мне свои фантазии "в цитаты" подкладывать.

booby но даже никакой специальной ценности в программировании не представляет.
авторНаследование (англ. inheritance) — концепция объектно-ориентированного программирования, согласно которой абстрактный тип данных может наследовать данные и функциональность некоторого существующего типа, способствуя повторному использованию компонентов программного обеспечения. повторное использование компонентов ПО никакой специальной ценности не представляет. приплыли. а давайте писать один и тот же говнокод из раза в раз, отдадим все силы производству велосипедов! а предметная область? херня, до дедлайна целая неделя.

booby За исключением единственного случая, где оно сумело прижиться относительно гармонично.
И это - проектирование визуальных интерфейсов.
Очень специальная и очень специфическая область программирования.и по все видимости единственно тебе знакомая? я, например, в MVC контроллеры друг от друга наследую, все очень гармонично, и даже в некотором роде баянно, хотя и не для тебя, и уж точно далеко от интерфейсов.

booby Балансируя между мелкими неточностями и невообразимой ложью и нелепицей.а за базар ответишь? ну-ка покажи невообразимую ложь в моем исполнении. нелепицы не интересуют, это вещь субъективная, зависящая от настроения и количества тараканов в голове, а вот ложь вполне верифицируемое явление.

пока что лгут лишь мои оппоненты, раз за разом приписывая мне то, что я не говорил.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662759
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy...
booby За исключением единственного случая, где оно сумело прижиться относительно гармонично.
И это - проектирование визуальных интерфейсов.
Очень специальная и очень специфическая область программирования.и по все видимости единственно тебе знакомая? я, например, в MVC контроллеры друг от друга наследую...
Клоун, уехал цирк. Уехал .
Ты один остался.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662760
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobyAntonariy...
пропущено...
и по все видимости единственно тебе знакомая? я, например, в MVC контроллеры друг от друга наследую...
Клоун, уехал цирк. Уехал .Спать прилег, ночь на дворе. А ты че явился, одеяло поправить?
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662761
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobyТы один остался.А у меня репетиция.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662873
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторА что я должен делать, если вместо обсуждения VB6 ты переводишь стрелки на иные языки? Идти на поводу? Обломись.
Мне как-то посрать, как там объявляются интерфейсы, я не собираюсь их там объявлять.
Это ты мне приводил пример с объявлением класса вместо интерфейса, сказав что это криво, когда тебя ткнули в точно такую же схему объявления в C++, ты слился. На протяжении всего обсуждения ты приводишь мне доводы как это сделано в других ЯП, я тебе привожу точно такие же.

авторвот только сказать не мог. комплекс каштанки.
Лол, вот что я тебе написал, а ты видимо ниасилил:
авторВ COM интерфейсы также могут наследовать друг-друга, как минимум любой интерфейс должен наследоваться от IUnknown, а в VB6 любой интерфейс наследует еще как минимум IDispatch. VB6 может имплементировать интерфейсы производные от IUnknown и IDispatch, но если немного знать суть работы то можно реализовать любой интерфейс, как к примеру тут (IDWriteTextRenderer наследуется от IDWritePixelSnapping и реализуется VB6-классом).

авторнаследовании на IDL. а не VB6. как оказалось, на VB6 кроме объявления и имплементации с интерфейсами нихрена не изобразишь.
Да какая разница на чем это написано? Конечный код с наследованием работает на VB6 . Когда говорят что такой возможности нет, значит ее нет от слова совсем. Аналогично можно сказать что на VB6 нет возможности проиграть звук, т.к. придется подключать внешнюю DLL. Если ты неадекват и не в состоянии это осилить, то можешь не отвечать.

авторбред в твоей голове - результат твоего неадекатного восприятия, неумения читать, невладения понятиями. я писал про модификаторы членов классов, потому что не позволяют интерфейсы члены модифицировать (о чем я тоже написал совершенно прямо и недвусмысленно
Ты не понимаешь что это ты неадекват. Я изначально писал тебе о интерфейсах и тут ты со своим бредом про модификаторы базового класса. Осмысли это.

авторпотому что не позволяют интерфейсы члены модифицировать
Вообще пушка. Пхах.. Ну так для справки я скинул статью на вики с описанием что такое интерфейс, почитай, и подумай что ты тут пишешь.

автори ты сам понял, что речь-то о классах, притащив PublicNotCreateable, но не понял поначалу, что о его членах. а теперь еще раз решил в прыжке переобуться? ишь, попрыгунчик.
Нет, я вел речь о интерфейсах, а ты со своим бредом о классах никак не успокоишься.

авторВ гробу я видал их в tlb объявлять, мне нафиг не нужно com-интерфейсы наследовать. Мне нужно наследовать друг от друга интерфейсы бизнес-логики, и я не хочу пользоваться для этого посторонними инструментами в виде IDL.
Повторю для трудных:
авторДа наплевать как ты хочешь. Вещи устроены так как устроены, а если тебе не нравится как это устроено это не означает что этих вещей нет или они как-то криво устроены.

авторне густо.
Лол, ты вообще знаешь такое понятие - кроссплатформанность? Как коррелирует то о чем ты сказал с кроссплатформенностью? К примеру кроссплатформенный VST-MA - основан на COM:
авторVST-MA is a component model system which is used in any Steinberg host application as the basic layer for Plug-in support as well as for internal application components.
It is object-oriented, cross-platform and (almost) compiler-independent.
The basics are very much like Microsoft(R) COM, so if you are familiar with this technology, understanding VST-MA should be quite easy.
....
The first layer of VST-MA is binary compatible to COM. The Vtable and Interface Identifier of FUnknown match with the corresponding COM interface IUnknown. The main difference is the organization and creation of components by a host application.

авторопаньки. два языка. ровно та же претензия к интерфейсам, что и у меня.
впрочем, в нашем случае вторым языком выступает VB6, которому совершенно не требуется idl (почему он и является com-ориентированным). до тех пор, пока не нужно наследовать интерфейсы.

Мы то этого не знали.

автора вот и реестр.
ты не видишь, что директикс использует реестр? а он использует. (с) суслик
Ахах. Ну во-первых,
авторRegistration-Free COM (RegFree COM) is a technology introduced with Windows XP that allows Component Object Model (COM) components to store activation metadata and CLSID (Class ID) for the component without using the registry . Instead, the metadata and CLSIDs of the classes implemented in the component are declared in an assembly manifest (described using XML), stored either as a resource in the executable or as a separate file installed with the component.[12] This allows multiple versions of the same component to be installed in different directories, described by their own manifests, as well as XCOPY deployment.
Во-вторых:
авторBecause COM does not have a strict class model, there are four ways that a client can instantiate or get a pointer to an interface on an object:

Call a COM library function that creates an object of a predetermined type—that is, the function will return a pointer to only one specific interface for a specific object class.
Call a COM library function that can create an object based on a class identifier (CLSID) and that returns any type of interface pointer requested.
Call a method of some interface that creates another object (or connects to an existing one) and returns an interface pointer on that separate object.
Implement an object with an interface through which other objects pass their interface pointer to the client directly.
Реестр иногда требуется лишь для второго случая.

авторВозня с реестром тоже не волнует, поскольку она автоматическая и опять же часть COM, а не языка VB6.
Ага, уже не волнует ). Просто спорол чушь, а теперь съезжаешь. Я понял.

авторИзюминка:
авторвозможность написания как интерфейсов, так и классов стандартным для языка образом, без «прокладок»
Лол, так описать интерфейс можно и в VB6, сам же писал:
авторна VB6 кроме объявления и имплементации с интерфейсами нихрена не изобразишь.
Или зачем ты выделил это?
авторнеобходимости регистрации
Ересь, как минимум интерфейсы Direct3D9 не зарегистрированы в реестре, объекты создаются вызовом API функции.

авторсмешной ты. :) а информация о функции, которую вызывают, чтобы объект создать, откуда берется?
Лол, ну почитай доку как создается объект и покажи где там используется схема с реестром которую ты описал выше. Под столом... Пхах..

авторчто за привычка обвинять меня в том, чего я не делал?
В чем я тебя обвинил? Я написал:
авторНет, это ты в неадеквате. VB6 - COM ориентированный, сама COM технология является объектно-ориентированной. В COM наследование реализации делается не так как ты хочешь:
Где тут обвинение или что-то подобное? Это констатация факта.

авторнаследование через жопу, и убогий полиморфизм.
Нет, ты писал что этих вещей вообще нет. Сейчас ты уже поосторожнее во фразах и пишешь что через жопу, я тебе в сотый раз напишу:
авторДа наплевать как ты хочешь. Вещи устроены так как устроены, а если тебе не нравится как это устроено это не означает что этих вещей нет или они как-то криво устроены.

авторТы поступил очень адекватно, решив полаять в ответ.
Собака лает — караван идёт. И все твои потуги как-то изменить порядок вещей ни к чему не приведут. Вещи работают так как работают.

авторда, пубсег, я не собираюсь обсуждать плюсы, поскольку не собираюсь их использовать. если бы использовал, то может и вылил бы ушат помоев по аналогичным поводам, но нет их, поводов-то. можешь еще несколько языков перечислить, по большинству я тоже сольюсь, поскольку не использую и не собираюсь. не проблема.

Зачем тогда приводить в пример "кривость" объявления интерфейса через классы, я не пойму? Цитату в 100500 раз не буду приводить.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662875
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторповторное использование компонентов ПО никакой специальной ценности не представляет. приплыли. а давайте писать один и тот же говнокод из раза в раз, отдадим все силы производству велосипедов! а предметная область? херня, до дедлайна целая неделя.
Сколько раз я приводил тут цитаты как реализуется повторное использование кода в COM (и соответственно в VB)? Хорошо, еще раз для трудных:
https://en.wikipedia.org/wiki/Component_Object_Model The preferred method of "inheritance" within COM is the creation of sub-objects to which method "calls" are delegated.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662890
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторОна может браться из трех мест, дотошный ты наш. Из реестра, vbg и при выборе файла. Но вся эта портянка не может быть результатом выбора файлов или проектной группой, ага? Следовательно, чуть менее чем все пункты почерпнуты из реестра.
Заметь я нигде не утверждал что это берется не из реестра, а ты говорил что:
авторCOM это технология доступа к программным объектам, разбросанным по разным файлам, через реестр операционной системы.
Ну это вообще пушка, я твой пробел в знаниях о работе COM выявил задав простой вопрос про Direct3D. Ты усирался что реестр для работы с Direct3D используется на этапе "разработки" и "компиляции". Я резонно спросил, где конкретно и тут ты вылез с окном References (для чего? чтобы показать свое невежество?). Мало того что речь шла о COM (т.к. ты высрал формулировку о COM), а не о VB6 так еще тебе привели пример когда итемы в списке вообще не связаны с реестром. Возвращаясь к твоей писанине, если итемы могут быть не из реестра, то реестр может не использоваться на этапах "разработки" и "компиляции" именно Direct3D, соответственно твоя формулировка о COM - бред. Второй момент это то что я написал:
авторЧто? А расскажи пожалуйста когда используется реестр (в том виде в котором ты описываешь технологию) для работы с COM объектами Direct3D?
Т.е. тут не написано для работы с COM Объектами Direct3D в VB6, и это резонно т.к. ты высрал свою больное видение формулировки технологии COM, а не COM в VB.

авторЕсли ты указываешь компилятору, где конкретно лежит описание интерфейса, нахрена ему в реестр за ним лазить? А то, что пропадает - непорядок, cсылки сохраняются в VBP-файле. Либо что-то глючит, либо ты снимаешь галочку и закрываешь проект. Либо ты снова попутал какие-то понятия.
OMG, да ты сам мне задал вопрос про References на вопрос про использование реестра для работы с Direct3D. Чем ты не доволен? Это ты что-то попутал и у тебя видимо попоболь от того что вещи работают так как работают.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39662967
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2 Это ты мне приводил пример с объявлением класса вместо интерфейса, сказав что это криво, когда тебя ткнули в точно такую же схему объявления в C++, ты слился.вот докопался. тебе чо нужно, подтверждение, что в C++ оно такое же кривое как в VB? ну так оно такое же кривое. доволен?

ATM-TURBO 2 Лол, вот что я тебе написал, а ты видимо ниасилил:авторВ COM интерфейсы также могут наследовать друг-другадальше можно не осиливать.

повторяю для особо одаренных жирафов:

МОИ
ПРЕТЕНЗИИ
К СИНТАКСИСУ
VB6

что там возможно или невозможно "в COM" - насрать три корыта.

ATM-TURBO 2Нет, ты писал что этих вещей вообще нет.этих вещей вообще нет в СИНТАКСИСЕ.

ATM-TURBO 2Ага, уже не волнует ). Просто спорол чушь, а теперь съезжаешь. Я понял.да, давно я с COM не работал, тогда только манифесты начали появляться. уже и из головы вылетело про отсутствие необходимости регистрации.

зря я ввязался в обсуждение этого ископаемого, и знания протухают уже, и не по теме.

ATM-TURBO 2Лол, так описать интерфейс можно и в VB6, сам же писал:частично можно. описать наследование нельзя.

вот есть ополовиненный стакан - ООП в ВБ. для меня он на половину пуст. а для тебя чуть менее чем полон. вот можно худо-бедно (без наследования) описать интерфейс - ты: ура, интерфейсы есть 146%! я: это огрызок от поддержки интерфейсов. даже в сравнении с возможностями COM, реализованными в IDL. ты ж никуда без IDL.

и тоже самое по всем остальным проблемным пунктам вбшного ООП.

можно конечно поиграть в обезьяну, у которой есть задание достать ООП-банан, используя ограниченный набор подручных инструментов, но это не мой выбор, я пойду туда, где гроздья бананов разложены под рукой - в магазин. ведь цель у меня не поиграть в доставание банана, а насытиться, и для этого есть более короткие пути, чем банановые викторины.

ATM-TURBO 2И все твои потуги как-то изменить порядок вещей ни к чему не приведут.ты видишь с моей стороны какие-то потуги что-то изменить? иди проспись еще раз. у меня разве что есть идеи как изменить, но менять я ничего не собираюсь, хотя и могу теоретически, мне за это зарплату не платят.

это с твоей стороны наличествуют потуги что-то изменить. вот с многопоточностью носишься как дурень с писаной торбой. лет 20 назад, глядишь, и изменилось бы что-то, но сейчас VB6 интересует чуть более чем никого (и половина из них студенты с лабами), а многопоточность - чуть чуть более чем никого интересующегося VB6.

ATM-TURBO 2Зачем тогда приводить в пример "кривость" объявления интерфейса через классы, я не пойму?Для сравнения с ровностью.

ATM-TURBO 2Сколько раз я приводил тут цитаты как реализуется повторное использование кода в COM (и соответственно в VB) ?сколько раз не приводи, как было через жопу, так и осталось. именно в вб6. а нужно через синтаксис. вот в с++ через синтаксис, а не через жопу:
Код: plaintext
1.
class SecondClass : public FirstClass   // производный класс

и под ними обоими - COM. поэтому на COM - насрать. он вообще не при делах. проблемы в том, что над COM - в VB6, в его скудном синтаксисе, который без плясок с бубном вокруг power advanced и IDL не позволяет полноценно работать с COM.

понимаешь, что выходит? вряд ли, но я объясню: синтаксис VB6 наполовину херит половую COM-ориентацию всей системы VB6 (система состоит из синтаксиса, IDE и компилятора, выполняющего за программиста служебную COM-рутину).
...
Рейтинг: 0 / 0
VB6 и ООП
    #39663014
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторвот докопался. тебе чо нужно, подтверждение, что в C++ оно такое же кривое как в VB? ну так оно такое же кривое. доволен?
Все с тобой понятно ). Тогда не нужно тут писать высеры про полноценное ООП. Кривое - твое понимание сути вещей.

авторповторяю для особо одаренных жирафов:

МОИ
ПРЕТЕНЗИИ
К СИНТАКСИСУ
VB6

что там возможно или невозможно "в COM" - насрать три корыта.
Повторяешь? А ну-ка покажи где тут про синтаксис VB6 хоть слово, жираф:
авторНет наследования и полиморфизма.
А в C++ нет синтаксической возможности объявить интерфейс, там это реализуется через "костыль" абстрактных классов.
Как эти вещи реализуются в COM и VB6 я уже описал.

авторда, давно я с COM не работал, тогда только манифесты начали появляться. уже и из головы вылетело про отсутствие необходимости регистрации.

зря я ввязался в обсуждение этого ископаемого, и знания протухают уже, и не по теме.
Зато ты высрал свой бред сумашедшего в отношении моих знаний (пробелов) о работе COM, а в итоге сам оказался неучем и слился.

авторчастично можно. описать наследование нельзя.
Ты мне пост назад кидал цитату где ты выделил что нельзя средствами языка описать интерфейс. Я у тебя спросил:
авторИли зачем ты выделил это?

авторможно конечно поиграть в обезьяну, у которой есть задание достать ООП-банан, используя ограниченный набор подручных инструментов, но это не мой выбор, я пойду туда, где гроздья бананов разложены под рукой - в магазин. ведь цель у меня не поиграть в доставание банана, а насытиться, и для этого есть более короткие пути, чем банановые викторины.
Делай как хочешь. У тебя спросили чем не устраивают вб-шные возможности, ты написал, тебе ответили как их можно реализовать. Не нравится - всем наплевать.

авторописать наследование нельзя.
А никто не говорил что описать можно:
авторVB6 может имплементировать интерфейсы производные от IUnknown и IDispatch, но если немного знать суть работы то можно реализовать любой интерфейс
Далее приведен пример с реализацией IDWriteTextRenderer который наследуется от IDWritePixelSnapping.

авторты видишь с моей стороны какие-то потуги что-то изменить?
Да, вижу. Они проявляются в виде бессмысленного бреда.

авторэто с твоей стороны наличествуют потуги что-то изменить. вот с многопоточностью носишься как дурень с писаной торбой. лет 20 назад, глядишь, и изменилось бы что-то, но сейчас VB6 интересует чуть более чем никого (и половина из них студенты с лабами), а многопоточность - чуть чуть более чем никого интересующегося VB6.
Я прекрасно осознаю количество интересующихся данной темой и делаю "кирпичи" исходя из потребностей пользователей. Ссылки я в предыдущем топике оставил.
[IMG] https://s8.hostingkartinok.com/uploads/images/2018/06/39772f26384a08a47280e021b8f5e62e.png [/IMG]
Вот только готовые решения многопоточности на первой странице код-банка vbforums.

авторДля сравнения с ровностью.
Ровность - это потому что ты так сказал? Судя по твоим высерам про кривость ООП C++, это неудивительно.

автора нужно через синтаксис. вот в с++ через синтаксис
Лол, только что мне говорил зачем я увожу разговор в сторону C++ и сводит разговор в тему C++.

авторclass SecondClass : public FirstClass // производный класс
Ты так и не ответил, что будет есть FirstClass - абстрактный? Наследование или реализация? С точки зрения синтаксиса - это одно и тоже, с точки зрения логики - это разные вещи. Значит по твоей логике - это работает через жопу? Зачем тогда приводить такой пример?

авторпонимаешь, что выходит? вряд ли, но я объясню: синтаксис VB6 наполовину херит половую COM-ориентацию всей системы VB6 (система состоит из синтаксиса, IDE и компилятора, выполняющего за программиста служебную COM-рутину).
Я прекрасно понимаю что в VB6 нет наследования реализации, ты можешь еще 100 раз об этом написать - ничего не поменяется от этого. То что повторное использование кода в COM основывается на включении - ты не можешь понять:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms678443(v=vs.85).aspx This makes traditional implementation inheritance impractical for large, evolving systems composed of software components built by many engineering teams.
...
To achieve black-box reusability, COM adopts other established reusability mechanisms such as containment/delegation and aggregation .
Если тебе это непонятно и ты не согласен с этим порядком вещей - это не мои проблемы.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39663064
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2 Повторяешь? А ну-ка покажи где тут про синтаксис VB6 хоть слово, жираф:а ты не догадался, что про синтаксис? бееедненький.
ну да, для тебя же что VB, что IDL, что COM - один хрен, в одной куче.

ATM-TURBO 2Зато ты высрал свой бред сумашедшего в отношении моих знаний (пробелов) о работе COM, а в итоге сам оказался неучем и слился.да, я такой, не вижу проблемы в признании ошибок.

ATM-TURBO 2Ты мне пост назад кидал цитату где ты выделил что нельзя средствами языка описать интерфейс.полностью - нельзя. а частично меня не устраивает.

ATM-TURBO 2Не нравится - всем наплевать.любишь ты это дело, плеваться на тех, кто плюется на твои любимые инструменты. уже вторые сутки плёва пошли.

ATM-TURBO 2Да, вижу. Они проявляются в виде бессмысленного бреда.Если бессмысленный бред (допустим) является в твоем понимании путем к тому, чтобы что-то изменить, то тебе нужно не только проспаться, но еще и лечиться.

ATM-TURBO 2Вот только готовые решения многопоточности на первой странице код-банка vbforums.ниибаца достижение. нобелевка отдыхает. может и мне там пост создать, выложить что-то из старья? тоже возгоржусь как аццкая сотона.

There are currently 35 users browsing this forum. (1 members & 34 guests)

Не удивительно, что тебе не сидится в той дыре, даже на давно стухшем vbstreets.ru веселее:

Сейчас посетителей на конференции: 80, из них зарегистрированных: 3

кстати, моими решениями всякой ерунды тамошний кодебанк тоже заметно засран, ограничусь гордостью за это.

ATM-TURBO 2Ровность - это потому что ты так сказал?Это потому что для объявления используется специально созданный для этого синтаксис, а не "будем считать, что этот код и жнец и швец и на дуде игрец", как это сделано в VB с классами/интерфейсами.

ATM-TURBO 2Лол, только что мне говорил зачем я увожу разговор в сторону C++ и сводит разговор в тему C++.тебе показалось, я не обсуждаю C++, я обсуждаю VB6, сравнивая его синтаксис с отдельными элементами синтаксиса других языков. в дебри других языков я не погружаюсь.

ATM-TURBO 2Ты так и не ответил, что будет есть FirstClass - абстрактный? Наследование или реализация?пожалуй, помурыжу еще пару страниц.

ATM-TURBO 2Я прекрасно понимаю что в VB6 нет наследования реализациинаконец-то перестал съезжать на всякий левак.

ATM-TURBO 2То что повторное использование кода в COM основывается на включенииан нет, не перестал. это хроническое.

пойми простую вещь, жирафушка: я не пишу "на COM" и не собираюсь. я пишу на VB6 (писал). и мне абсолютно все равно в какой фарш превращает компилятор слова, которые я набрал руками в IDE - это забота компилятора. включение, агрегация - плевать. но мне не все равно, что для того, чтобы унаследовать реализацию, мне нужно написать моими драгоценными и уникальными руками гораздо больше слов, чем "Inherits Class1" - это самое включение или агрегацию. а чтобы унаследовать интерфейс вообще лезть к черту на рога в IDL. потому что я не обезьяна и ценю свое время. я лучше перейду (перешел) на более тяжелую платформу .net, которая позволяет гораздо больше времени посвятить предметной области, избавляя от нужды писать велосипеды для наследования реализации, интерфейсов или иной тривиальщины.

ATM-TURBO 2Если тебе это непонятно и ты не согласен с этим порядком вещей - это не мои проблемы.Меня ни в малейшей мере не колышет порядок вещей в COM. Мне даже понимать его не нужно на таком уровне, на котором я его все еще понимаю. Меня колышет порядок вещей в синтаксисе VB6.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39663142
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автора ты не догадался, что про синтаксис? бееедненький.
ну да, для тебя же что VB, что IDL, что COM - один хрен, в одной куче.
Я не должен догадываться, тебе написали чем тебя не устраивают существующий порядок вещей, ты высказал, тебе показали как это можно реализовать в существующих реалиях. Теперь ты съезжаешь на синтаксис, о котором никто не спорил вообще.

авторполностью - нельзя. а частично меня не устраивает.
Если тебя что-то не устраивает в инструменте - ты просто меняешь инструмент (что ты по-видимому и сделал). Тебе привели пример как это можно решить в существующих реалиях. Если ты считаешь это неправильным - наплевать.

авторлюбишь ты это дело, плеваться на тех, кто плюется на твои любимые инструменты. уже вторые сутки плёва пошли.
Да люблю плевать на мнение всяких бездарных неучей.

авторЕсли бессмысленный бред (допустим) является в твоем понимании путем к тому, чтобы что-то изменить, то тебе нужно не только проспаться, но еще и лечиться
Бессмысленный бред - для меня, для тебя это видимо истина раз ты 3-ю страницу тут показываешь свои потуги чтобы доказать мне что-то, и лечится нужно тебе. Именно твой бессмысленный бред - путь к этому.

авторThere are currently 35 users browsing this forum. (1 members & 34 guests)

Не удивительно, что тебе не сидится в той дыре, даже на давно стухшем vbstreets.ru веселее:

Сейчас посетителей на конференции: 80, из них зарегистрированных: 3

кстати, моими решениями всякой ерунды тамошний кодебанк тоже заметно засран, ограничусь гордостью за это.

ЛОЛИШЕ! Человек сравнивает подфорум с форумом, я под столом.
Заходим в кирпичный завод vbstreets (аналог CodeBank на vbforums):
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Заходим на главную страницу vbforums:
There are currently 1782 users online. 21 members and 1761 guests

Иди проспись или лечись. Ну лол вообще.. Пхаха

авторЭто потому что для объявления используется специально созданный для этого синтаксис, а не "будем считать, что этот код и жнец и швец и на дуде игрец", как это сделано в VB с классами/интерфейсами.
Можешь об это не писать, я уже понял твое понимание ровности когда ты писал про кривость того же механизма в C++.

автортебе показалось, я не обсуждаю C++, я обсуждаю VB6, сравнивая его синтаксис с отдельными элементами синтаксиса других языков. в дебри других языков я не погружаюсь.
Ты мне приводишь пример на C++, когда я тебе привожу пример на C++ - ты пишешь что это криво и я перевожу стрелки. Другой момент что про синтаксис с тобой никто не спорит, все знают то что оно работает так как работает. Спор идет над тем что ты называешь кривостью. Ты пишешь что в недо-ООП VB6 криво реализовано объявление интерфейсов, тебе привожу тот же пример с ООП C++, но и это для тебя также криво и ты кроме того пишешь что я перевожу стрелки в C++. Почему в C++ нет такой специальной конструкции? Потому что она не нужна т.к. есть абстрактные классы и та же самая концепция реализуется через этот механизм и незачем множить сущности.

авторпойми простую вещь, жирафушка: я не пишу "на COM" и не собираюсь. я пишу на VB6 (писал). и мне абсолютно все равно в какой фарш превращает компилятор слова, которые я набрал руками в IDE - это забота компилятора. включение, агрегация - плевать. но мне не все равно, что для того, чтобы унаследовать реализацию, мне нужно написать моими драгоценными и уникальными руками гораздо больше слов, чем "Inherits Class1" - это самое включение или агрегацию. а чтобы унаследовать интерфейс вообще лезть к черту на рога в IDL. потому что я не обезьяна и ценю свое время. я лучше перейду (перешел) на более тяжелую платформу .net, которая позволяет гораздо больше времени посвятить предметной области, избавляя от нужды писать велосипеды для наследования реализации, интерфейсов или иной тривиальщины.
Жирафушка, ты просто не можешь осознать того факта что любой объект в VB6 является COM объектом и подчиняется правилам COM, о чем я пишу тебе, жирафушка, еще с первых постов. Трудно?

авторМеня ни в малейшей мере не колышет порядок вещей в COM. Мне даже понимать его не нужно на таком уровне, на котором я его все еще понимаю. Меня колышет порядок вещей в синтаксисе VB6.
авторМеня колышет порядок вещей в синтаксисе VB6.
авторсинтаксисе VB6.
Ну лол. Если ты не хочешь принимать существующий порядок вещей в VB6 и делая вид что VB6 и COM никак не связаны, несмотря на проекты ActiveX DLL/EXE/Control - ты можешь не напрягаться и не писать мне про синтаксис в очередной раз, я без тебя все прекрасно знаю и не спорил об этом.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39663164
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2делая вид что VB6 и COM никак не связанысинтаксис VB6 с COM никак не связан, это объективный факт. с COM связан результат компиляции, на COM построена IDE, а сделай компилятор к этому синтаксису под jvm, и синтаксис будет точно так же управлять объектами, только это будут jvm-объекты.

ATM-TURBO 2я без тебя все прекрасно знаю и не спорил об этом.я тебе еще вчера заявил, что ты споришь не о том. прошли сутки. до адресата дошло. всего-то нужно было повторить с десяток раз слово "синтаксис", потому что слово "язык" в словосочетании "язык программирования" для тебя означает неведомую куйню, а не синтаксис.

а еще позавчера я писал про сокрытие членов и возможность необязательного переопределения. а это тоже явления чисто синтаксические, на уровне com не существует переобъявления или сокрытия.

а ты не догадался.

ах да, ты не обязан. а по правде - не умеешь.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39663181
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторсинтаксис VB6 с COM никак не связан, это объективный факт. с COM связан результат компиляции, на COM построена IDE, а сделай компилятор к этому синтаксису под jvm, и синтаксис будет точно так же управлять объектами, только это будут jvm-объекты.
Ты говоришь о каком-то сферическом VB6 в вакууме, в синтаксисе VB6 нет даже конструкции определения класса (нет ключевого слова Class). Нет такого ЯП, если бы такой ЯП был - это другой разговор. Я веду речь о существующих реалиях в которых классические VB-языки (VB, VBS, VBA) - COM ориентированы. Можешь усираться и дальше, игнорируя этот факт.

авторя тебе еще вчера заявил, что ты споришь не о том. прошли сутки. до адресата дошло. всего-то нужно было повторить с десяток раз слово "синтаксис", потому что слово "язык" в словосочетании "язык программирования" для тебя означает неведомую куйню, а не синтаксис.

Нет, это я тебе пишу что ты споришь не о том:
Antonariyинтерфейс в VB6 может только реализоваться классом. и вот реализация-то никак не наследуется.
[quote 21501354 ]Об обратном никто не говорил.[/quote]
Я написал еще в начале дискуссии. Если ты не осилил это и продолжаешь мне писать о наследовании реализации - это уже твоя проблема с восприятием информации.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39663221
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2 Ты говоришь о каком-то сферическом VB6 в вакуумекакие еще нужны доказательства того, что для тебя понятие "язык программирования" является неведомой куйней, да еще и в вакууме?

https://ru.wikipedia.org/wiki/Visual_Basic Microsoft Visual Basic — язык программирования, а также интегрированная среда разработки программного обеспечения, разрабатываемые корпорацией Microsoft. Язык Visual Basic унаследовал дух, стиль и отчасти синтаксис своего предка — языка BASIC, у которого есть немало диалектов. В то же время Visual Basic сочетает в себе процедуры и элементы объектно-ориентированных и компонентно-ориентированных языков программирования. Интегрированная среда разработки VB включает инструменты для визуального проектирования пользовательского интерфейса, редактор кода с возможностью IntelliSense и подсветкой синтаксиса, а также инструменты для отладки приложений.обрати внимание, что о VB говорят в первую очередь как о синтаксисе и во вторую как о среде разработки. а слово COM в статье употребляется всего три раза. вскользь. но ты уперся рогами именно в COM.

ATM-TURBO 2в синтаксисе VB6 нет даже конструкции определения классада, принцип "один файл - один модуль" тоже раздражает, но его я готов терпеть наравне с кривым объявлением интерфейсов: отсутствие конструкции определения класса не делает необходимым замещать ее кучей advanced power говнокода, как в случае с отсутствием конструкции наследования.

ATM-TURBO 2Можешь усираться и дальше, игнорируя этот факт.От того, что я игнорирую этот факт усираешься тут ты. Как оказалось, его еще и русская википедия игнорирует. Сходи, усрись там в каментах, что им наплевать на этот архиважнейший факт, отведи душеньку, может там прислушаются к твоим убойным аргументам.

ATM-TURBO 2VBSну значит и jscript COM-ориентирован.

Создание и использование элементов ActiveX - Delphi
о, дельфи тоже com-ориентирован. а если копнуть поглубже, то может окажется, что и его IDE написана не без COM.

про с++ и вспоминать не будем, он хоть и ориентрован, но ориентация у него нестандартная - через ATL.

ATM-TURBO 2Нет, это я тебе пишу что ты споришь не о том:Я спорю о том, о чем мне надо - о синтаксисе VB6, ты переубедить меня что ли в этом хочешь? Что ты там высрал после "Об обратном никто не говорил."?

ATM-TURBO 2Наследование реализации в COMдавай, до свиданья. я не обсуждаю наследование реализации в COM, я обсуждаю отсутствие конструкции наследования в синтаксисе VB6, к чему COM имеет такое же отношение как молитва к матанализу.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39663246
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторкакие еще нужны доказательства того, что для тебя понятие "язык программирования" является неведомой куйней, да еще и в вакууме?
Это ты описываешь язык Visual Basic 6 которого нет. Я веду речь о конкретном языке - VB6.

авторобрати внимание, что о VB говорят в первую очередь как о синтаксисе и во вторую как о среде разработки. а слово COM в статье употребляется всего три раза. вскользь. но ты уперся рогами именно в COM.
Да причем тут это? Это ты уперся рогами что VB6 - это синтаксис и приплел какой-то несуществующий бейсик в вакууме.
Я тебе привожу цитату:
https://en.wikipedia.org/wiki/Visual_Basic Visual Basic is a third-generation event-driven programming language and integrated development environment (IDE) from Microsoft for its Component Object Model (COM) programming model first released in 1991 and declared legacy during 2008.
Но если ты как всегда из-за своего скудоумия не можешь это осознать, можешь дальше усираться. Впрочем я уже повторяюсь.

авторда, принцип "один файл - один модуль" тоже раздражает, но его я готов терпеть наравне с кривым объявлением интерфейсов: отсутствие конструкции определения класса не делает необходимым замещать ее кучей advanced power говнокода, как в случае с отсутствием конструкции наследования.
Да ты тут усираешься и съезжаешь на синтаксис, но тебя не смущает тот факт что в синтаксисе нет инструкций объявления класса, т.е. по твоей логике это даже не ООП язык, или? Если бы ты изначально писал о синтаксисе и имел это в виду ты бы сразу сказал что нет такой возможности средствами синтаксиса VB6 объявить класс и интерфейс. Сейчас ты просто уже запутался в своем бреде.

авторОт того, что я игнорирую этот факт усираешься тут ты. Как оказалось, его еще и русская википедия игнорирует. Сходи, усрись там в каментах, что им наплевать на этот архиважнейший факт, отведи душеньку, может там прислушаются к твоим убойным аргументам.
Она его не игнорирует. Если бы она игнорировала то там об этом не было ни слова. А также она подтверждает мои слова в виде:
авторОтсутствие наследования реализации — особенность технологии COM, а не самого VB, который лишь отражает эту особенность.

авторну значит и jscript COM-ориентирован.

Создание и использование элементов ActiveX - Delphi
о, дельфи тоже com-ориентирован. а если копнуть поглубже, то может окажется, что и его IDE написана не без COM.

про с++ и вспоминать не будем, он хоть и ориентрован, но ориентация у него нестандартная - через ATL.
Такого бреда я еще не слышал. VBS - COM ориентирован потому-что там любой класс является COM классом (в том числе и пользовательский), никаких других классов нет и нельзя использовать. Весь подсчет ссылок и запрос интерфейсов реализовано нативно.

авторЯ спорю о том, о чем мне надо - о синтаксисе VB6, ты переубедить меня что ли в этом хочешь? Что ты там высрал после "Об обратном никто не говорил."?
Нет, ты тут спорил много о чем. Если твое скудоумие не позволяет тебе понять фразу: "Об обратном никто не говорил. Наследование реализации в COM делается через включение. Обращения к базовому классу делегируются этому объект." - спор с тобой бесполезен, также как спор с обезьяной.

автордавай, до свиданья. я не обсуждаю наследование реализации в COM, я обсуждаю отсутствие конструкции наследования в синтаксисе VB6, к чему COM имеет такое же отношение как молитва к матанализу.
авторя обсуждаю отсутствие конструкции наследования в синтаксисе VB6
Об этом никто не спорил.
авторVB6, к чему COM имеет такое же отношение как молитва к матанализу.
Вероятно ты когда приводил цитату из русскоязычной вики, вероятно не заметил (или проигнорил) или просто не осилил:
https://ru.wikipedia.org/wiki/Visual_Basic#cite_ref-7 Отсутствие наследования реализации — особенность технологии COM, а не самого VB, который лишь отражает эту особенность.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39663273
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЭто ты уперся рогами что VB6 - это синтаксислюбой ЯЗЫК программирования это в ПЕРВУЮ очередь - СИНТАКСИС.

Ибо язык узнают по синтаксису.

Хочешь поспорить с этим?

авторВпрочем я уже повторяюсь.ты уже заговариваешься. попей водички.

авторА также она подтверждает мои слова в виде: в с++ есть наследование, и это не мешает ему работать с com. как не мешает и дотнету. потому что наследование - абстракция высокого уровня, которая реализуется компилятором совсем не так, как это выглядит в исходниках.

авторт.е. по твоей логикеты вообще не врубился в мою логику, она для тебя слишком высокого уровня. моя логика - минимум ручной работы. а объем ручной работы во многом зависит от синтаксиса. чем синтаксис беднее, тем больше ручной работы, чтобы императивным говнокодом сделать то, что делается декларативно ключевым словом.

нужно, чтобы я тебе объяснял отличие между декларативным кодом и императивным? или сам нагуглишь?

авторНет, ты тут спорил много о чем.а я и не говорил, что не спорил. я говорил, что не спорю.
во временах русского языка ты разбираешься настолько же куево, как в понятиях языков программирования, поэтому уточняю: больше не спорю.

авторОб этом никто не спорил.ну да, с ходу не врубившись о чем речь, не поинтересовавшись, какого хрена я имею ввиду, ты стал спорить о своем, о девичьем. а я повелся. бабник, блин.

авторВероятно ты когда приводил цитату из русскоязычной вики, вероятно не заметил (или проигнорил) или просто не осилил:нет никакого ограничения, чтобы привнести эту особенность в синтаксисы всех языков, что работает с com. кроме умственного ограничения. то, что VB отражает недостатки COM и сливает его преимущества (наследование интерфейсов), на совести разработчиков VB6, их лени.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39663365
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторлюбой ЯЗЫК программирования это в ПЕРВУЮ очередь - СИНТАКСИС.

Ибо язык узнают по синтаксису.

Хочешь поспорить с этим?
Не съезжай с темы, ты писал о VB6, а не о VB (VBA/VBS/etc.) В синтаксисе VB6 нет даже синтаксических средств описать класс и он по твоей больной логике не является ООП языком.

авторты уже заговариваешься. попей водички
Нет, я повторил одно и тоже, то что ты не можешь усвоить.

авторв с++ есть наследование, и это не мешает ему работать с com. как не мешает и дотнету. потому что наследование - абстракция высокого уровня, которая реализуется компилятором совсем не так, как это выглядит в исходниках.
Ну лол вообще, иди повоюй на вики. Я уже написал что в VB6 любой объект является COM объектом, а создание других не-COM объектов вообще не предусмотрено, он просто не будет считаться объектом . Это один из принципов COM ориентированности. Запомни это. Теперь ты приплетаешь сюда совершенно левую концепцию из C++ и дотнета. Теперь создай любой объект в C++ - он будет считаться COM объектом? Чтобы создать COM объект в C++ нужно предпринять дополнительные усилия в виде реализации (наследования) интерфейса IUnknown и счетчика ссылок. И наследование реализации не получится организовать только в рамках COM:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms678443(v=vs.85).aspx An important goal of any object model is to enable object authors to reuse and extend objects provided by others as pieces of their own implementations. One way to do this in Microsoft Visual C++ and other languages is by using implementation inheritance, which allows an object to inherit ("subclass") some of its functions from another object while overriding other functions.

The problem for systemwide object interaction using traditional implementation inheritance is that the contract (the interface) between objects in an implementation hierarchy is not clearly defined. In fact, it is implicit and ambiguous. When the parent or child object changes its implementation, the behavior of related components might become undefined or unstably implemented. In any single application, where the implementation can be managed by a single engineering team that updates all of the components at the same time, this is not always a major concern. In an environment where the components of one team are built through black-box reuse of other components built by other teams, this type of instability jeopardizes reuse. Additionally, implementation inheritance usually works only within process boundaries. This makes traditional implementation inheritance impractical for large, evolving systems composed of software components built by many engineering teams.

авторты вообще не врубился в мою логику, она для тебя слишком высокого уровня. моя логика - минимум ручной работы. а объем ручной работы во многом зависит от синтаксиса. чем синтаксис беднее, тем больше ручной работы, чтобы императивным говнокодом сделать то, что делается декларативно ключевым словом.
Ага, когда тебя мокнули в твое же, ты опять съезжаешь. Я тебе прямым текстом пишу что в VB6 нет синтаксических средств объявить (декларировать) класс. И следуя твоей логике если нет синтаксических средств сделать что-то значит этого нет.

автора я и не говорил, что не спорил. я говорил, что не спорю.
во временах русского языка ты разбираешься настолько же куево, как в понятиях языков программирования, поэтому уточняю: больше не спорю.
А я тебе говорил что ты не спорил? Я просто констатировал факт что ты много о чем спорил и в итоге слился, поэтому твой очередной съезд в сторону синтаксиса - это очередной "пшик". Если понимание русского языка у тебя вызывает проблемы что ты на пустом месте начинаешь обвинять оппонента в пробелах знания русского языка (в принципе ситуация похожа на COM) - тебе нужно обратно в школу.

авторну да, с ходу не врубившись о чем речь, не поинтересовавшись, какого хрена я имею ввиду, ты стал спорить о своем, о девичьем. а я повелся. бабник, блин.
Нет, просто у тебя проблемы с излаганием информации - обычно следствие неграмотности, и это не означает что кто-то кроме тебя виноват, что не поняли что ты там имел в виду. Это ты начал спорить о чем-то своем, когда я в самом начале дискуссии написал что о наследовании реализации никто не спорит что такой возможности нет в языке VB6 и решается оно в рамках COM через включение. Опять-таки:
автор Если твое скудоумие не позволяет тебе понять фразу: "Об обратном никто не говорил. Наследование реализации в COM делается через включение. Обращения к базовому классу делегируются этому объект." - спор с тобой бесполезен, также как спор с обезьяной.

авторнет никакого ограничения, чтобы привнести эту особенность в синтаксисы всех языков, что работает с com. кроме умственного ограничения. то, что VB отражает недостатки COM и сливает его преимущества (наследование интерфейсов), на совести разработчиков VB6, их лени.
Ну иди теперь на вики повоюй, подоказывай им что это истина последней инстанции потому что ТЫ ТАК СКОЗАЛ! А разработчики VB6, стандарта COM - ленивые с умственными ограничениями. Ну лол )
...
Рейтинг: 0 / 0
VB6 и ООП
    #39663495
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2 Не съезжай с темыа я и не съезжаю, это ты въезжать не собираешься, слишком сложная и абстрактная тема для тебя - концепции синтаксиса языков программирования.

ATM-TURBO 2В синтаксисе VB6 нет даже синтаксических средств описать класс и он по твоей больной логике не является ООП языком.выдумал больную логику и приписал ее мне. героям слава!

ATM-TURBO 2Я уже написал что в VB6 любой объект является COM объектом, а создание других не-COM объектов вообще не предусмотренода вообще наплевать, в каком виде реализуется исходный код.

ATM-TURBO 2Я тебе прямым текстом пишу что в VB6 нет синтаксических средств объявить (декларировать) класс. И следуя твоей логике если нет синтаксических средств сделать что-то значит этого нет.нет, дурило картонное, моя логика следующая: если отсутствие синтаксической конструкции ведет к тому, что ее функционал требуется заместить портянкой говнокода, то только тогда соответствующего функционала в языке нет. а если отсутствие синтаксической конструкции не требует усилий по ее замене, как это с классами в vb (конструкцией, определяющей класс, является файл с расширением cls), то соответствующий функционал в языке есть. и пофиг, что эта конструкция не является синтаксической.

как видишь, эта логика посложнее твоих умственный способностей.

ATM-TURBO 2Нет, просто у тебя проблемы с излаганием информацииЯ думал, что общаюсь с тем, кто понятиями владеет, и разговаривал по понятиям, чтобы слов не тратить, а тебе все разжевать, оказывается, нужно.

AntonariyжирафATM-TURBO 2жирафAntonariyСходи, усрись там <в википедии> в каментахATM-TURBO 2Ну иди теперь на вики повоюй
"сам дурак". слабо быть оригинальным?

какое-то еще попугайство был, ну да ладно.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39663500
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2А разработчики VB6, стандарта COM - ленивые с умственными ограничениями. Ну лол )в их адрес я сказал только про лень, а про умственные ограничения - в твой, не перевирай мои слова.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39663578
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как я уже писал, !свидетели VB6! не просто так пишут на этом языке. Это определенный вид деформации, я раньше сам был таким. Интереснее же писать, не когда удобно и всё под рукой, а когда нужно превозмогать.
Решать проблемы, которые уже давно решены во всех высокоуровневых языках.
это касается не только VB6, но и Basic'а в целом, это касалось и GW\Q\PDS Basic , и VB, и VBA.
Достаточно вспомнить электронный журнал ABC, который выходил в лохматых годах.
Попытки доказать всем, что VB6 тоже язык и так далее похожи на синдром "младшего брата" :) когда цель не сделать, а доказать, что я могу это сделать.
И данная тема хороший пример этого. Смотрите, я теперь можно использовать многозадачность в языке на котором писали динозавры! VB6 тоже может и т.д.

весь этот срач в теме, на 2 стораницы доказывает, на сколько "свидетели VB" привержены этому.

Иногда очень сложно перейти в работе на другой языке и программировать только на нём, это вызывает массу сложностей, вопросов и неуверенности. Особенно если тебе уже за 30 и деформация необратима :)
...
Рейтинг: 0 / 0
VB6 и ООП
    #39663586
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,

Когда я переходил с VB6 на .NET, меня пугало то обстоятельство, что VB6 можно изучить, грубо говоря, почти до конца, все стандартные функции, все свойства контролов и т.п., а аналогичное в .NET в одну голову точно не влезет. То есть подход другой - решение новой для тебе задачи приходится искать, а не использовать свои стандартные законченные знания по языку и входящим в него библиотекам ))
...
Рейтинг: 0 / 0
VB6 и ООП
    #39663644
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автора я и не съезжаю, это ты въезжать не собираешься, слишком сложная и абстрактная тема для тебя - концепции синтаксиса языков программирования.

Нет ты именно съезжаешь. Ты говоришь о конкретном языке VB6, а потом начинаешь приплетать какой-то несуществующий VB6 в вакууме, и в конце оказывается что ты имеешь в виду синтаксис (о котором никто тут не спорил) VB, а не конкретно VB6 о котором ты тут говорил изначально.

авторвыдумал больную логику и приписал ее мне. героям слава!
Лол. Твое сообщение:
авторКостыли есть, а синтаксических возможностей языка нет.
Как на уровне синтаксиса объявить класс в VB6? Т.е. если бы ты изначально спорил про синтаксис, то ты бы не писал такое:
авториз которых в VB6 присутствует только два, и от неуместного перевода стрелок на всякие стимулы еще два не появится.
Поскольку синтаксически невозможно объявить класс в VB6. А делаешь ты это потому, что изначально ты спорил не о синтаксисе, а теперь съезжаешь в эту тему о которой никто не спорил вообще.

авторнет, дурило картонное, моя логика следующая: если отсутствие синтаксической конструкции ведет к тому, что ее функционал требуется заместить портянкой говнокода, то только тогда соответствующего функционала в языке нет. а если отсутствие синтаксической конструкции не требует усилий по ее замене, как это с классами в vb (конструкцией, определяющей класс, является файл с расширением cls), то соответствующий функционал в языке есть. и пофиг, что эта конструкция не является синтаксической.

Нет, дурило картонное, ты просто запутался в своем бреде и у тебя не получилось съехать на синтаксис. Ты теперь придумываешь оправдание (в очередной раз) что ты имел в виду другое, а тебя, дурачка, не поняли. Ты уже писал критерии "полноценного ООП языка", и там ты описал:
авторПоддержка полноценного ООП на уровне синтаксиса
Когда тебя ткнули на то что такой возможности нет в VB6, ты теперь съезжаешь на то что оказывается ты не это имел в виду.
авторконструкцией, определяющей класс, является файл с расширением cls
Нет.


авторкак видишь, эта логика посложнее твоих умственный способностей.
Это больная логика, которая изменяется на протяжении всей дискуссии. Когда человек пишет:
авторЯ сказал, что этого нет в языке.
Потом пишет что под "язык" он подразумевал синтаксис. А теперь оказывается что имелось в виду и синтаксис и функционал среды - это больная логика.

авторЯ думал, что общаюсь с тем, кто понятиями владеет, и разговаривал по понятиям, чтобы слов не тратить, а тебе все разжевать, оказывается, нужн
Лол. Ты сначала с понятиями разберись сам. То про COM городил херню какую-то, то теперь про язык прыгаешь туда-сюда.

автор"сам дурак". слабо быть оригинальным?
Твоим же говном тебя поливаю, зачем мне для тебя что-то новое придумывать?
...
Рейтинг: 0 / 0
VB6 и ООП
    #39663651
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman MejtesИнтереснее же писать, не когда удобно и всё под рукой, а когда нужно превозмогать.
А не возникало такой мысли что кодинг-может быть просто хобби? Т.е. к примеру если что-то нужно реализовать средствами недоступными в VB6 ты просто берешь и:
[ATM-TURBO 2]просто меняешь инструмент[/quote]
Другое дело когда ты это делаешь для того чтобы показать что это возможно , посмотреть "внутреннюю" кухню и т.п. Тот же драйвер на VB6 не несет никакой практической пользы, а делался для того чтобы показать данную возможность.

Roman MejtesИ данная тема хороший пример этого. Смотрите, я теперь можно использовать многозадачность в языке на котором писали динозавры! VB6 тоже может и т.д.
Ну так эта возможность была еще 20 лет назад, только не так как хотят многие - в виде ActiveX EXE сервера.

Roman MejtesИногда очень сложно перейти в работе на другой языке и программировать только на нём, это вызывает массу сложностей, вопросов и неуверенности. Особенно если тебе уже за 30 и деформация необратима :)
Ну если только иногда.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39663773
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2 и в конце оказывается что ты имеешь в виду синтаксисто есть по твоим же словам выходит, что изначально я и говорил про синтаксис, только поначалу ты тупил и не въезжал совершенно искренне, а теперь встал в такую позу, чтобы не было видно обдристанных штанов. но запашок-то в карман не спрячешь.

ATM-TURBO 2 (о котором никто тут не спорил)естественно, ты не въехал, и тебя разнесло на споры о королях и капусте.

я прекрасно понимаю, признавать свои промахи дано не только лишь всем, тебе вот не дано, поэтому ты такой забавный поциент.

ATM-TURBO 2 VB, а не конкретно VB6вообще-то я почти всегда именно так и писал - VB 6 .
а ты не в курсе, что в разных версиях ВБ немного разный синтаксис? ну ты и лошара. а я в курсе, поэтому подчеркивал именно шестерку.

ATM-TURBO 2Лол. Твое сообщение:это мое сообщение относилось к модификаторам членов классов, а не к классам. к классам у меня не было претензий, я и не вспоминал о них, поэтому не трудился встроить их особенности в концепцию ООП-синтаксиса.

но ты решил вытащить на свет божий все стороны недо-ООП VB6, и к которым есть претензии, и к которым нет, и о которых я даже и не думал и может даже забыл напрочь, и начал на них натягивать свое ущербное понимание моего отношения в VB6.

получилась мешанина, особенно с твоей страстью выхватывать мои слова из одного контекста, в который ты даже не въехал, вкорячивать в другой и шумно радоваться отсутствию у меня логики.

ATM-TURBO 2Т.е. если бы тыу тебя слишком мало мозгов, чтобы строить предположения на мой счет.

ATM-TURBO 2 А теперь оказывается что имелось в виду и синтаксис и функционал средысо второй страницы (до отделения) я уже все насчет тебя понял, я знал, что ты выхватишь слова про синтаксис (на тот момент - термин "язык"), возведешь их в абсолют, зациклишься на них и напишешь это, поэтому оттягивал упоминание IDE как можно дольше. но вот ты добрался до классов, и время IDE пришло.

видя твою въедливость и упоротость, я решил давать информацию дозированно, иначе ты вообще нихрена не поймешь. однако ты нихрена не понимаешь независимо от особенностей подачи информации.

ну нет ключевого слова для класса, и что? покуй, класс-то есть, говнокод для его возникновения не нужен, среда все делает.

а вот в наследовании и ключевого слова, и самого наследования нет, и среда ничем не поможет - наследование нужно говнокодить. а перегрузку, сокрытие и возможность переопределения сигнатур членов даже заговнокодить невозможно, этого нет ни под каким соусом.

ATM-TURBO 2Нет

Ну значит по метке VERSION 1.0 CLASS внутрях файла, это не важно.

Кстати, вот оно, ключевое слово в исходнике. А ты говорил нет, ну ты и шляпа.

Важно то, что ради объявления класса не нужно писать говнокод, как его нужно писать для наследования.

ATM-TURBO 2Это больная логика, которая изменяется на протяжении всей дискуссии.Это нормальная логика, которая объясняет мое отношение ко всем особенностям VB6. Просто особенности всплывали не все разом, а по чуть-чуть, то я что-то новое вспомню и добавлю, не заботясь о проведении доступной для твоего скудоумия логической цепочке к прошлым особенностям, то ты что-то вытащишь на свет божий. Поначалу-то я считал, что ты не глупее меня и в состоянии встать на точку зрения оппонента. Но ты не в состоянии даже если все разжевать до атомов. В твоем убогом понимании все вещи, мной изложенные, противоречат друг другу. А в моем взаимосвязаны. И взаимосвязь эта - минимум говнокода, а какими средствами достигается минимум, синтаксисом ли, IDE - не важно.

Вот например наш модератор с коллегой меня понимают, и мягко намекают тебе, что ты таки тупица с кругозором размером со щель в жалюзи.

ATM-TURBO 2То про COM городил херню какую-тоне так уж много херни, процентов 20%, но нагородил, да.
кто сам без греха, пусть первый бросит в меня камень.

ATM-TURBO 2Твоим же говном тебя поливаю, зачем мне для тебя что-то новое придумывать?Чтобы показать, что ты можешь придумать хоть что-то кроме никчемной многопоточности в VB. Но ты не можешь.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39663824
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторто есть по твоим же словам выходит, что изначально я и говорил про синтаксис, только поначалу ты тупил и не въезжал совершенно искренне, а теперь встал в такую позу, чтобы не было видно обдристанных штанов. но запашок-то в карман не спрячешь.
Из моих слов этого не выходит - это у тебя проблемы с восприятием:
авторТы говоришь о конкретном языке VB6, а потом начинаешь приплетать какой-то несуществующий VB6 в вакууме, и в конце оказывается что ты имеешь в виду синтаксис (о котором никто тут не спорил) VB, а не конкретно VB6 о котором ты тут говорил изначально.
Если слово "в конце" для тебя обозначает "изначально" - то у тебя слабоумие. А твои пассажи с синтаксисом как раз-таки чтобы не было видно твоих обдристанных штанов.

авторестественно, ты не въехал, и тебя разнесло на споры о королях и капусте.
Я въехал и изначально об этом написал. А у тебя вероятно бомбануло от того что возможность то оказывается есть, но реализуется она не синтаксисом языка, а иначе. И ты начал усираться и доказывать мне это съехав на то что ты имел в виду синтаксис (о котором никто не спорил!).

авторя прекрасно понимаю, признавать свои промахи дано не только лишь всем, тебе вот не дано, поэтому ты такой забавный поциент.
Хорошо, скажи в чем мой промах, и если я что-то в дискуссии неверно утверждал - укажи мне на это.

авторно ты решил вытащить на свет божий все стороны недо-ООП VB6, и к которым есть претензии, и к которым нет, и о которых я даже и не думал и может даже забыл напрочь, и начал на них натягивать свое ущербное понимание моего отношения в VB6.
Давай, теперь списывай на то что ты забыл. Когда ты мне тут усирался и с пеной у рта писал про синтаксис, а тебе написали что следуя этой логике получается что и ООП, как такового, нет - ты будешь писать что ты забыл и не думал о них.

авторвообще-то я почти всегда именно так и писал - VB6.
а ты не в курсе, что в разных версиях ВБ немного разный синтаксис? ну ты и лошара. а я в курсе, поэтому подчеркивал именно шестерку.

Фраза "ты имеешь в виду синтаксис (о котором никто тут не спорил) VB, а не конкретно VB6 о котором ты тут говорил изначально." обозначает - "ты имеешь в виду синтаксис VB, а не VB6 (весь, вместе с IDE (т.к. в VB6 синтаксически невозможно объявить класс и это реализуется в рамках IDE)) о котором ты тут говорил изначально". И ты можешь усираться и говорить что ты имел в виду только синтаксис VB6, но у тебя не получится т.к. в этом случае ты тоже неправ т.к. в рамках синтаксиса не реализуется ООП вообще. Ну ты точно лошара.

авторэто мое сообщение относилось к модификаторам членов классов, а не к классам. к классам у меня не было претензий, я и не вспоминал о них, поэтому не трудился встроить их особенности в концепцию ООП-синтаксиса.
Лол, ну точно с логикой у тебя проблема. Твое сообщение про синтаксические возможности распространяется только на модификаторы, а для классов это уже не подходит? Ну так постой, ты же и про C++ также писал что там это сделано криво и нет специальной синтаксической конструкции. Ты сначала определись.

авторполучилась мешанина, особенно с твоей страстью выхватывать мои слова из одного контекста, в который ты даже не въехал, вкорячивать в другой и шумно радоваться отсутствию у меня логики.
Нет никакой мешанины. Сообщение:
авторКостыли есть, а синтаксических возможностей языка нет.
Никакой двусмысленности не несет, особенно когда после этого пишут:
авторЭто потому что для объявления используется специально созданный для этого синтаксис , а не "будем считать, что этот код и жнец и швец и на дуде игрец", как это сделано в VB с классами/интерфейсами.

автору тебя слишком мало мозгов, чтобы строить предположения на мой счет.
У тебя слишком мало мозгов ответить на вопрос.

авторсо второй страницы (до отделения) я уже все насчет тебя понял, я знал, что ты выхватишь слова про синтаксис (на тот момент - термин "язык"), возведешь их в абсолют, зациклишься на них и напишешь это, поэтому оттягивал упоминание IDE как можно дольше. но вот ты добрался до классов, и время IDE пришло.

видя твою въедливость и упоротость, я решил давать информацию дозированно, иначе ты вообще нихрена не поймешь. однако ты нихрена не понимаешь независимо от особенностей подачи информации.


авторну нет ключевого слова для класса, и что? покуй, класс-то есть, говнокод для его возникновения не нужен, среда все делает.
Да ты пару постов назад усирался что:
автор спорю о том, о чем мне надо - о синтаксисе VB6,
И ты имел в виду именно синтаксис. Тебе написали что в рамках синтаксиcа невозможно объявить класс в VB6. Теперь тебе покуй и ты приплетаешь сюда IDE. Иди проспись.

автора вот в наследовании и ключевого слова, и самого наследования нет, и среда ничем не поможет - наследование нужно говнокодить. а перегрузку, сокрытие и возможность переопределения сигнатур членов даже заговнокодить невозможно, этого нет ни под каким соусом.

Я уже задолбался писать про наследование, но если ты не осиливаешь - хрен с тобой. Умный человек прочитает эту дискуссию и сделает выводы.

авторНу значит по метке VERSION 1.0 CLASS внутрях файла, это не важно.
Опять мимо. Произвольный текстовый файл с кодом и этой меткой является некорректным.

авторКстати, вот оно, ключевое слово в исходнике. А ты говорил нет, ну ты и шляпа.
Это не имеет никакого отношения к синтаксису VB6, ну ты и шляпа.

авторЭто нормальная логика, которая объясняет мое отношение ко всем особенностям VB6. Просто особенности всплывали не все разом, а по чуть-чуть, то я что-то новое вспомню и добавлю, не заботясь о проведении доступной для твоего скудоумия логической цепочке к прошлым особенностям, то ты что-то вытащишь на свет божий. Поначалу-то я считал, что ты не глупее меня и в состоянии встать на точку зрения оппонента. Но ты не в состоянии даже если все разжевать до атомов. В твоем убогом понимании все вещи, мной изложенные, противоречат друг другу. А в моем взаимосвязаны. И взаимосвязь эта - минимум говнокода, а какими средствами достигается минимум, синтаксисом ли, IDE - не важно.
Это ненормальная логика и не нужно списывать сейчас все на то что особенности у тебя всплывают по ходу дискуссии. Если ты сказал А, а потом ты уже говоришь Б противоречащее А - это больная логика. Тут либо не нужно было говорить А, либо не говорить Б после А. С моей стороны - я тебе предоставил пример решения проблемы в текущих реалиях, но ты со своим скудоумием пытаешься мне доказать что это неправильно/криво и т.п. говоря что это должно реализовываться синтаксически. То, что реализуемо синтаксически - никто не утверждал; на твои доводы что это криво/неправильно - я привожу ссылки на COM документацию в которой это реализуется так как реализуется (даже если ты не согласен с этим). Чтобы доказать опять что я не прав ты пишешь ты мне пишешь что COM и VB6 - не связаны (приводя ссылку в вики в которой написано с точностью наоборот) и ты имел в виду синтаксис. Хорошо, допустим я принимаю твои правила, и оцениваю только синтаксис VB6 (о котором я не спорил вообще), но в этих реалиях оказывается нет возможности вообще объявить класс. Тут получается либо ты просто съехал с возможностей языка VB6 (вместе со средой и COM кухней) в просто синтаксис VB6, а теперь вышла загвоздка, либо ты изначально говорил о VB6 вместе со средой и COM кухней, а теперь съезжаешь на синтаксис, но у тебя не получается.
Вот мое понимание. Где тут противоречия?

авторВот например наш модератор с коллегой меня понимают, и мягко намекают тебе, что ты таки тупица с кругозором размером со щель в жалюзи.
На что модератор намекает? Ну-ка?
авторКогда я переходил с VB6 на .NET, меня пугало то обстоятельство, что VB6 можно изучить, грубо говоря, почти до конца, все стандартные функции, все свойства контролов и т.п., а аналогичное в .NET в одну голову точно не влезет. То есть подход другой - решение новой для тебе задачи приходится искать, а не использовать свои стандартные законченные знания по языку и входящим в него библиотекам ))
Если это намек что я тупица, то санитары уже за тобой выехали.

авторкроме никчемной многопоточности в VB. Но ты не можешь.
Твои высеры насчет никчемности просто излишни. Модуль реализован - люди пользуются.

авторНо ты не можешь.
Для чего мне на форуме программистов придумывать какие-то оскорбления для слабоумного? Я просто не вижу в этом смысла. И на слабо меня не нужно брать, это мб ты поведешься на это, но не я.
...
Рейтинг: 0 / 0
VB6 и ООП
    #39663830
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторТут получается либо ты просто съехал с возможностей языка VB6 (вместе со средой и COM кухней) в просто синтаксис VB6, а теперь вышла загвоздка, либо ты изначально говорил о VB6 вместе со средой и COM кухней, а теперь съезжаешь на синтаксис, но у тебя не получается.
Повторился,
Тут получается либо ты просто съехал с возможностей языка VB6 (вместе со средой и COM кухней) в просто синтаксис VB6, а теперь вышла загвоздка, либо ты изначально говорил о синтаксисе VB6, а теперь после того как выяснилось что средствами синтаксиса нельзя объявить класс - съезжаешь в возможности языка VB6 (вместе со средой и COM кухней).
...
Рейтинг: 0 / 0
VB6 и ООП
    #39663840
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyATM-TURBO 2А разработчики VB6, стандарта COM - ленивые с умственными ограничениями. Ну лол )в их адрес я сказал только про лень, а про умственные ограничения - в твой, не перевирай мои слова.
авторнет никакого ограничения, чтобы привнести эту особенность в синтаксисы всех языков, что работает с com. кроме умственного ограничения. то, что VB отражает недостатки COM и сливает его преимущества (наследование интерфейсов), на совести разработчиков VB6, их лени.
Во-первых, если ты писал про умственные ограничения, ты имел в виду то что я должен был привнести эту особенность в синтаксис? Ну в этом случае я должен был бы быть разработчиком. И все верно. У тебя явно проблемы то ли с излаганием информации (ты не можешь корректно выразить свои мысли), то ли с восприятием (и ты считаешь то что ты написал про умственные ограничения - в мой адрес).
...
Рейтинг: 0 / 0
75 сообщений из 75, показаны все 3 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6 и ООП
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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