2009-10-12 64 views
1

我需要創建一個更新應用程序的插件。如何在Windows/Delphi中編寫插件?

看,我有一個主機應用程序,但可能我會用更多的功能進行更新。我在使用Delphi 7的Windows中工作。

基本上,「我的插件」應該爲主機應用程序添加2或3個新功能。

我該如何編寫一個插件,在主應用程序中插入新代碼(新函數)而無需重新編譯它?

注意:我對我的英語感到抱歉。我的自然語言是西班牙語。

謝謝。

+0

重複http://stackoverflow.com/questions/365968/how-best-to-add-plugin-capability-to-a-delphi-program。也可以添加重複的答案。 – mghie

回答

2

Here you can find an article解釋如何使用插件製作應用程序。 您必須使用動態包和RTTI。

它包括第一個原型的代碼。

關於我的壞英語的問候和藉口。 P.D:這篇文章用西班牙文寫成。

+0

Gracias hermano。 Agradecido。 – Yulien

+0

+1 Buen articulo Neftali。 ;) – RRUZ

+0

Espero en breveañadirla segunda parte queestáya casiconcluída。 Un saludo。 –

5

工作得很好的一種方法是爲插件創建COM對象。這種方法的優點是插件可以用除Delphi之外的其他語言開發(儘管Delphi中的COM開發比其他任何語言都要簡單)。除非您的插件界面發生變化,否則COM插件將不需要重新編譯以匹配宿主應用程序的當前版本。

我在一個商業產品中實現了一個成功的基於COM的插件架構,並且在Delphi 5中開發了幾個根本不需要重新編譯的插件。即使我的應用程序現在是針對Delphi 2007/2009進行編譯的,它們仍然可以運行。

1

對於我的基於插件的工作,我使用了JVCL中的JvPlugin框架。在JVCL安裝中,\ examples \ JvPlugin文件夾中,您可以找到幾個示例來展示如何嚮應用程序添加新功能,包括向表單的菜單欄中添加新的菜單項。

0

我個人使用Remobjects的Hydra。我允許我混合使用本機和.NET插件。