Stránka 1 z 1

Díl druhý - minimum které musí obsahovat každý plugin

Napsal: 29 říj 2008 13:48
od sutrus
Dnes si ukažeme co vše musí obsahovat plugin aby jej bylo možné spustit pod QIP Infium.
Jedná se o minimalistický příklad pluginu který vlastně nic neumí a nám se bude hodit při založení nového prázdného pluginu. Na tomto základě pak budeme stavět a rozšiřovat kód o nové a nové funkce.

Takto upravený plugin si můžete stáhnout
min_plug.rar
Díl druhý. Základ pro tvorbu pluginu
(217.28 KiB) Staženo 304 x
V krátkosti si popíšeme které procedury a konstanty jsou potřeba.
Vše potřebné najdeme v unitu u_qip_plugin.pas

Konstanty
Tyto konstanty nám definují verzi, jméno a popis pluginu zobrazený uživateli.
  • PLUGIN_VER_MAJOR = 1; //Verze pluginu
    PLUGIN_VER_MINOR = 0; //Verze pluginu
    PLUGIN_NAME : WideString = 'QIP Plugin minimum'; //Název pluginu
    PLUGIN_AUTHOR : WideString = 'sutrus'; //Autor pluginu
    PLUGIN_DESC : WideString = 'Test - minimum které musí obsahovat každý plugin'; //Popis pluginu
    PLUGIN_HINT : WideString = 'Test plugin a jeho pipis řádek 1.' + #13#10 + 'Test plugin a jeho pipis řádek 2.'; //Toto se zobrazí při najetí myši nad plugin
Typ TQipPlugin
Obsahuje základní procedury pro řízení a vzájemnou komunikaci pluginu s Infiem.
  • procedure LoadSuccess(PlugMsg: TPluginMessage) //Je zavolána po spuštění Infia
    procedure CreateControls //Je zavolána v okamžiku spuštění pluginu
    procedure FreeControls //Je zavolána v okamžiku ukončení nebo zakázání pluginu
    procedure LoadPluginOptions a SavePluginOptions //Využívá se pro načtení nebo uložení nastavení pluginu
Všechny tyto procedury jsou vázané na zprávy poslané do pluginu.
Jsou to tyto zprávy PM_PLUGIN_LOAD_SUCCESS, PM_PLUGIN_RUN, PM_PLUGIN_QUIT, PM_PLUGIN_DISABLE, PM_PLUGIN_ENABLE.
Dále pak PM_PLUGIN_OPTIONS vyvolaná kliknutím na tlačítko Nastavení v seznamu pluginů
a PM_PLUGIN_WRONG_SDK_VER při zjištění chybné verze SDK pluginu, tedy verze SDK pluginu je větší než verze SDK Infia.

Kompletní seznam všech zpráv které si může plugin vyměnit s Infiem najdete v unitu u_plugin_info.pas
Ke dnešní verzi SDK 1.6.0 jich můžete využít 67. Cílem dnešního dílu byla ukázka prvních šesti zpráv které musí obsahovat každý plugin. Zpráva PM_PLUGIN_WRONG_SDK_VER je sedmá a není nutně vyžadována pro běh pluginu.

Tím dnešní díl končí. V další díle si ukážeme jak do pluginu přidat formulář a také si vytvoříme tlačítko pod avatar.