Tvorba t°φd a ActiveX komponent

Abyste mohli pou₧φt ve VaÜem projektu komponentu, kterou vytvo°il n∞kdo jin² (a zkompiloval ji do OCX souboru), musφte na tento prvek p°idat referenci - pomocφ nabφdky Project|Components si otev°ete okno s nainstalovan²mi komponentami a Vßmi po₧adovanou komponentu zaÜkrtn∞te. Po kliknutφ na tlaΦφtko Ok se v Toolboxu zobrazφ ikona tΘto komponenty a vy ji kliknutφm m∙₧ete vybrat a natßhnout na formulß°. N∞kterΘ komponenty jsou v run-time m≤du viditelnΘ (nap°φklad Text Box), zatφmco n∞kterΘ jsou viditelnΘ pouze v design m≤du (tak jako Common Dialog Control nebo Image List Control). Jakmile takov²to prvek p°idßte v design m≤du na formulß°, tak pomocφ Property Window m∙₧ete m∞nit jeho vlastnosti. N∞kterΘ vlastnosti m∙₧ete m∞nit i za b∞hu aplikace, kdy navφc m∙₧ete volat metody komponenty (co₧ jsou vlastn∞ "public" procedury, obsa₧enΘ v komponent∞/t°φd∞). Zm∞na vlastnostφ komponenty nebo vyvolßnφ metody za b∞hu aplikace by m∞lo vypadat nßsledovn∞:

FormName.ControlName.Property = Value
FormName.ControlName.Method (Param1, Param2...)

Pro pou₧itφ t°φdy, kterou n∞kdo jin² vytvo°il a zkompiloval do DLL musφte nejprve na tuto knihovnu (knihovnu t°φd) p°idat do projektu referenci pomocφ volby Project|References. B∞₧n∞ jsou t°φdy v DLL takzvan∞ "multiu₧ivatelskΘ", co₧ znamenß, ₧e v projektu m∙₧ete mφt vytvo°eno vφce ne₧ jednu instanci t°φdy. Z toho vypl²vß, ₧e inicializace t°φdy se provßdφ nßsledovn∞:

Dim clsClass As New DllName.ClassName

Po tΘto deklaraci lze pou₧φvat ji₧ metody a vlastnosti nßsledovn∞:

clsClass.Property = Value
clsClass.Method (Param1, Param2 ...)

Pokud ale byla DLL t°φda vytvo°ena jako globßlnφ, pak m∙₧ete vytvo°it pouze jednu instanci v projektu a DLL funkce je pak p°φstupnß jako jakßkoliv dalÜφ VB funkce a je nahrßna do pam∞ti ji₧ p°i startu aplikace. Aby bylo mo₧nΘ pak pou₧φt funkce a vlastnosti, staΦφ pouze napsat jejich jmΘno a parametry:

FunctionName (Param1, Param2...)
PropertyName = Value

Zp∞t DalÜφ

Autor: The Bozena