Díl druhý - minimum které musí obsahovat každý plugin
Napsal: 29 říj 2008 13:48
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 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.
Obsahuje základní procedury pro řízení a vzájemnou komunikaci pluginu s Infiem.
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.
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 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
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
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.