Как создать Chrome как приложение в Delphi, который выполняет несколько процессов в одном Окне?

Это прекрасно, но я хотел бы сделать некоторые границы, проверяющие массив, как будто кто-то добавляет другой ButtonState, у Вас будет проблема.

кроме того, элементы массива цветов неизменны, поэтому возможно, смотрят на использование различного набора для выстраивания так, чтобы можно было осуществить ту неизменность. Возможно, Dictionary<ButtonState,ButtonColor>

16
задан Harriv 21 September 2009 в 15:28
поделиться

6 ответов

Думаю, в основном вы должны создать несколько процессов, каждый из которых создает окно / форму. Один из процессов имеет главное окно, в которое встроено каждое дочернее окно. Это так же просто, как вызвать SetParent . Окна в разных процессах будут взаимодействовать друг с другом с помощью механизма IPC (межпроцессного взаимодействия), такого как именованные каналы или оконные сообщения.

См. этот вопрос для примера внедрения использования SetParent в Delphi. См. этот вопрос для примера использования именованных каналов в Delphi.

7
ответ дан 30 November 2019 в 22:43
поделиться

Взгляните на код Delphi из HeidiSQL . Это отличный клиент MySQL с открытым исходным кодом, который реализует этот механизм.

Прочтите этот новостной элемент, опубликованный при выпуске Chrome:

«Google играет в догонялки с HeidiSQL?»

: -)

HeidiSQL
(источник : heidisql.com )

7
ответ дан 30 November 2019 в 22:43
поделиться

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

alt text

Frameworks

Учебники

Пока.

4
ответ дан 30 November 2019 в 22:43
поделиться

Взгляните на: http://blogs.microsoft.co. il / blogs / maxim / archive / 23.09.2008 / curiosity-kill-the-programmer-multiprocess-browser.aspx . Источник приложения находится в CSharp. Я уверен, что вы сможете адаптировать его к Delphi.

4
ответ дан 30 November 2019 в 22:43
поделиться

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

-1
ответ дан 30 November 2019 в 22:43
поделиться

Я не уверен в том, как работает Delphi, но стандартная процедура для многопроцессного программирования является разветвленной.

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

Не могу объяснить многопроцессорное программирование в одном ответе потока. Но посмотрите сами.

-5
ответ дан 30 November 2019 в 22:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: