从另一个Delphi程序调用Delphi方法

时间:2010-11-16 20:02:31

标签: delphi

我想设置一个小程序,从数据库中检索信息,然后在请求时将该信息分发给另一个程序。例如,一个名为“Master”的程序将从数据库中检索数据并创建一个对象集合(列表,数组等等,无论哪种效果最好),然后一个名为“Slave”的程序(从多个桌面运行)可以调用一个方法(即,GetNextRecord)来自“Master”以检索集合中的下一条记录。

我希望能够只让一个'Slave'能够一次调用GetNextRecord方法,以避免给多个Slave提供相同的记录。 “Master”将在服务器上运行数据库,而“Slave”将在多台桌面计算机上运行。

有没有人有这方面的例子或教程如何完成?

TIA, Brian Enderle

3 个答案:

答案 0 :(得分:12)

您所描述的内容通常称为三层或多层设计。

有一些Delphi库可以让它更容易:

相关问题:

Advice on moving to a multi tier Delphi architecture

答案 1 :(得分:1)

您所描述的内容也称为load balancing,可以使用Message Queue来实现。

查找面向消息的中间件并检查现有的实现,例如Microsoft Message Queuing (MSMQ)

  

MSMQ本质上是一种消息传递   允许应用程序的协议   在不同的服务器/进程上运行   以安全的方式进行沟通。

推荐阅读也是关于Enterprise Integration Patterns

的书

注意:我是Delphi和Free Pascal客户端库的作者,用于开源消息队列/消息代理(ActiveMQ,HornetQ,OpenMQ,RabbitMQ)

答案 2 :(得分:0)

我会在Delphi XE中查看DataSnap。有一个免费的DataSnap 2010白皮书,其中包含http://www.embarcadero-info.com/in_action/radstudio/db.html的视频,我目前正在为另一份白皮书(可能在下个月或2011年初发布)开发Delphi XE小型但真实的案例研究应用程序。在此期间,您还可以查看我今天在http://www.eBob42.com/courseware发布的Delphi XE DataSnap Development Essentials课件手册(请参阅http://www.ebob42.com/training/DataSnapXE.pdf的TOC)。

如果你没有Delphi的企业版,并且不想升级到它,那么你可能想要给RemObjects SDK看看。

注意:我是两者的经销商,但我也在客户的实际项目中使用,所以我知道我在说什么; - )

相关问题