如何在Delphi中创建Chrome应用程序,在一个Window中运行多个进程?

时间:2009-09-21 15:28:34

标签: windows delphi google-chrome parallel-processing

是否可以创建一个“应用程序组”,它可以在一个窗口下运行,但是在单独的进程中,如在Chrome浏览器中?我想将一个应用程序分成多个部分,这样一个崩溃或干扰过程就无法取消其他应用程序,但仍然保持外观和感觉尽可能接近原始系统。

我知道可以使用Chrome源代码,但是还有为Delphi准备的一半吗?

6 个答案:

答案 0 :(得分:7)

我想基本上你会创建多个进程,每个进程都会创建一个窗口/表单。其中一个进程具有主窗口,其中嵌入了每个子窗口。这就像调用SetParent一样简单。不同进程中的窗口将使用IPC(进程间通信)机制(如named pipes或窗口消息)相互通信。

有关在Delphi中使用SetParent的嵌入示例,请参阅this question。有关在Delphi中使用命名管道的示例,请参阅this question

答案 1 :(得分:7)

查看Delphi codeHeidiSQL。它是一个很好的开源MySQL客户端,可以实现这种机制。

阅读Chrome发布时发布的这个新网站:

"Google playing catch-up with HeidiSQL?"

: - )

HeidiSQL
(来源:heidisql.com

答案 2 :(得分:4)

Harriv,您可以使用基于plugins的方案。你有一个主应用程序和这个动态加载新闻功能。这里有几个库我留下了一些。

alt text

<强>框架

<强>教程

再见。

答案 3 :(得分:4)

看看:http://blogs.microsoft.co.il/blogs/maxim/archive/2008/09/23/curiosity-killed-the-programmer-multiprocess-browser.aspx。该应用程序的源代码是CSharp。我相信你可以让它适应德尔福。

答案 4 :(得分:-1)

您可以分离应用程序逻辑并在多个线程中执行它。这样,如果应用程序逻辑的一部分挂起,您仍然有一个响应式应用程序。但是你无法将GUI放在多个线程中。 VCL要求您在主线程中执行所有与GUI相关的东西。

答案 5 :(得分:-5)

我不确定Delphi如何运行,但多进程编程的标准程序是分叉。

使用您想要的任何代码分叉新进程。将信息传递给分叉进程,让它运行它想做的任何事情。

无法在一个线程响应中解释多进程编程。但仔细看看。