Как стать автором
Поиск
Написать публикацию
Обновить
39
0

Пользователь

Отправить сообщение

Whataboutism

уводить тему

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

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

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

А булыжник с дороги может вообще убить человека на раз два.

Еще предлагаю на государственном уровне запретить поганки и мухоморы.

Статья закончилась, не начавшись.

А как может сломаться та же Windows 95? Даже с учётом всех багов этой ОС, если до сих пор всё исправно работало, то и дальше будет.

и некому.

Вот над этим и надо работать. Учить людей базе вроде ассемблера и WinAPI, а не вайб-кодингу на питоне с помощью ChatGPT.

Работает — не трогай.

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

Ваши слова для меня звучат как «не курит, не пьёт, не харкается по сторонам и не матерится — очень странный и подозрительный тип, наверняка это маньяк-педофил да ещё и каннибал придачу».

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

После прочтения захотелось глаза пойти помыть.

Цена? В личку напишу... Цену в студию!

Это что, четырехквадрантный ЛБП?

Конечно же нет. А если так, что там делает кнопка OVP? Такая же профанация, как на моём Korad KA3010.

SIMD (Single Instruction, Multiple Data — один алгоритм, множество данных)

🤦‍♂️

Вообще, мне «нравится», как технологию, на этот раз COM/OLE/ActiveX клеймят устаревшей, такой, сякой нехорошей, но причины оказываются не очень-то объективными, а именно:

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

  2. Мы нифига её толком не знаем, поэтому наступаем на всевозможные грабли, например, неправильно инициализируем аппартамент.

CLSID_WebBrowser — это глобальный идентификатор объекта.

Это уникальный идентификатор класса, а не объекта. А уже объект это экземпляр класса. А вот глобальным идентификатором объекта мог бы стать тот самый OBJREF-моникер, приведённый к строковому предсавлению, про которой я написал выше.

Но увы, в реестре у CLSID_WebBrowser нет записи LocalServer32. Есть только запись InProcServer32, которая указывает на DLL. То есть Internet Explorer не работает как отдельный EXE‑сервер — в Microsoft не предусмотрено такого сценария.

Это не правда. В Microsoft как раз-таки предусмотрели такой сценарий.

Такой сценарий, когда COM-сервер, реализованный в виде DLL, не должен попасть в адресное пространство клиентского процесса, а должен работать в рамках отдельного процесса (как если бы COM-сервер сам был реализован в виде EXE) предусмотрен.

Бымс!

Техника называется COM Surrogate. Более того, Microsoft предусмотрела, что вы можете воспользоваться встроенной системной реализацией процесса-суррогата (исполняемый файл называется %windir%\System32\dllhost.exe — знакомое имя, не так ли?) либо написать свой кастомный.

DLL Surrogates

Using system-supplied surrogate

Writing custom surrogate

Вы написали свой собственный, но назвали его Proxy, и не следовали тем правилам и соглашениям, которые установил Microsoft.

Internet Explorer работает внутри 32-битного процесса — по сути, это окно (hwnd), созданное в этом же процессе. А значит, все сообщения, связанные со взаимодействием с веб‑страницей (например, когда она в фокусе), будут приходить именно в наш прокси‑процесс. И чтобы они обрабатывались корректно, прокси обязан иметь свой собственный цикл обработки сообщений.

То есть, если бы он был не окном (hwnd), и если бы он вообще никак не связан был бы с пользовательским интерфейсом и каким бы то ни было взаимодействием с пользователем, а речь шла бы о какой-нибудь библиотеке, которая делает FFT, то цикл проачки оконных сообщений был бы не нужен?

Как бы не так: раз вы сделали CoMarshall/CoUnmarshall и создали пару proxy/stub объектов, то всё ваше межпроессное RPC как раз и работает под капотом за счёт обмена оконными сообщениями. Поэтому, в первую очередь, именно по этому вам нужен цикл обработки оконных сообщений. А не потому что IE это по сути окно.

И почему было не воспользоваться objref-моникерами вместо огорода с пайпами и ручным маршаллингом?

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

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

Ваши бы слова да богу в уши.

То что вы пишите про C/C++, это правда и я с эти согласен. Проблема в том, что слишком многие с этим не согласны.

Так какая связь между стилистикой интерфейса, претензиям к интерфейсу и выбором ЯП?

Что-то я непонял перескок на чёрный UI как у Блендера.

вам лично не нужно, а мне нужно

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

1
23 ...

Информация

В рейтинге
4 950-й
Откуда
Петропавловск, Северо-Казахстанская обл., Казахстан
Зарегистрирован
Активность

Специализация

Software Developer, Embedded Software Engineer
Pure C
Assembler
X86 asm
Win32 API
Visual Basic
MySQL
Git
OOP
Electronics Development
Reverse development