Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to create Chrome like application in Delphi which runs multiple processes inside one Window?

Is it possible to create an "application group" which would run under one window, but in separate processes, like in Chrome browser? I'd like to divide one application into multiple parts, so that one crashing or jamming process cannot take down others, but still keep the look and feel as close to original system as possible.

I know the Chrome source is available, but is there anything even half ready made for Delphi?

like image 465
Harriv Avatar asked Sep 21 '09 15:09

Harriv


2 Answers

I guess basically you would create multiple processes each of which creates a window/form. One of the processes has the master window in which every child window is embedded. That is as simple as calling SetParent. The windows in different processes would talk to each other using an IPC (Inter Process Communication) mechanism like named pipes or window messages.

See this question for an embedding example of using SetParent in Delphi. See this question for an example of using named pipes in Delphi.

like image 116
Lars Truijens Avatar answered Oct 09 '22 02:10

Lars Truijens


Have a look at the Delphi code of HeidiSQL. It's a great open source MySQL client that implements this mechanism.

Read this newsitem that was posted when Chrome was released:

"Google playing catch-up with HeidiSQL?"

:-)

HeidiSQL
(source: heidisql.com)

like image 39
Wouter van Nifterick Avatar answered Oct 09 '22 01:10

Wouter van Nifterick