Π²Π½Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° 1Ρ ΡΡΠΎ ΡΡΠΎ
ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² 1Π‘ 8.2
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΡΠ° ΡΡΠ°ΡΡΡ Π΄Π°Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠ°Π±ΠΎΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Β«1Π‘: ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅Β».
ΠΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ Β«1Π‘: ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅Β» Π²Π΅ΡΡΠΈΠΈ 8.2, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΉ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΠ‘ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Windows Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΡΠ°Π±ΠΎΡΡ. Π’Π°ΠΊΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ°Π±ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ
Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΉ ΠΌΠ°Π»ΠΎΠ³ΠΎ Π±ΠΈΠ·Π½Π΅ΡΠ°. ΠΠ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C++.
ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Β«1C: ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅Β»
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΠ
ΠΠ½Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ Β«1Π‘: ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅Β» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π² Π²ΠΈΠ΄Π΅ DLL-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π ΠΊΠΎΠ΄Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ»Π°ΡΡ-Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊ IComponentBase. Π ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠ΅ Π·Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π±ΡΠ΄ΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ Π½ΠΈΠΆΠ΅ ΠΏΠΎ Ρ ΠΎΠ΄Ρ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°.
ΠΠ°ΠΏΡΡΠΊ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΠ
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ
ΠΠ΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΠΠ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ ΠΠ’Π‘ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Β«/VNCOMP82/example/NativeAPIΒ».
ΠΠ»Ρ ΡΠ±ΠΎΡΠΊΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΠ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Microsoft Visual Studio 2008. ΠΡΡΠ³ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Visual Studio.
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ AddInNative. Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ½ΠΈ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΠ’Π‘ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /VNCOMP82/include.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΉΠ» /bind/AddInNative.dll. ΠΡΠΎ ΠΈ Π΅ΡΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ 1Π‘.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΠ ΠΊ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ 1Π‘
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ 1Π‘.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ 1Π‘ Π½Π΅ Π±ΡΠ»ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΎ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, ΡΠΎ ΠΠ Π±ΡΠ»Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π°.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΠ΅ΠΌΠΎΠΠΎΠΌΠΏ, ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΠΊΠΎΠ΄Π΅ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
ΠΠ΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ Π·Π°Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ
ΠΠ° ΠΏΠ°Π½Π΅Π»Ρ Β«Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΒ» Π²ΡΠ²Π΅Π΄Π΅Π½Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΠ΅ΠΌΠΎΠΠΎΠΌΠΏ.ΠΡΠΊΠ»ΡΡΠΈΡΡ() ΠΈ ΠΠ΅ΠΌΠΎ.ΠΠΎΠΌΠΏ.ΠΠΊΠ»ΡΡΠΈΡΡ(). ΠΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ Π½Π° ΡΠΎΠΉ ΠΆΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ
ΠΎΡ ΠΠ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ β ΠΡΡΠΎΡΠ½ΠΈΠΊ, Π‘ΠΎΠ±ΡΡΠΈΠ΅ ΠΈ ΠΠ°Π½Π½ΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
ΠΠ°Π΄Π°ΡΠ°: ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΌΡ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅.
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ AddInNativeExtension, ΡΠΌΡΡΠ» ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ Π±ΡΠ» ΠΏΠΎΡΡΠ½Π΅Π½. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ AddInNativeExtension β ΡΡΠΎ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ.
Π ΠΊΠΎΠ΄Π΅ ΠΠ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ RegisterExtensionAs, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Β«1Π‘: ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅Β» ΠΈΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΠ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ ΠΌΠ΅ΡΠ΅ ΡΠ°ΡΠΊΡΡΠ²Π°Π΅Ρ ΡΡΡΡ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠ΅ΡΠΎΠ΄Π° RegisterExtensionAs Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΌ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ:
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΠΌΡ ΠΠ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° SomeName. Π’ΠΎΠ³Π΄Π° ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΠ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ:
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΠ²ΠΎΠΉΡΡΠ² ΠΠ
ΠΠΎΠ»Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΠ’Π‘.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ° CAddInNative.
Π Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΠ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ 2 ΡΠ²ΠΎΠΉΡΡΠ²Π°: ΠΠΊΠ»ΡΡΠ΅Π½ ΠΈ ΠΡΡΡΠ’Π°ΠΉΠΌΠ΅Ρ (IsEnabled ΠΈ IsTimerPresent).
Π Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΠ΄Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π΄Π²Π° ΠΌΠ°ΡΡΠΈΠ²Π°:
ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΠ°Π½ΡΡ ΡΡΡΡΠΊΠΎΠ΅ ΠΈ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ². Π Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ AddInNative.h ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅:
ΠΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Props Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄:
ΠΠ»Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ STL C++. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ WCHAR, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ wstring.
ΠΠ»Ρ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π’Π΅ΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ Π² ΠΊΠ»Π°ΡΡΠ΅ CAddInNative Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ private ΠΏΠΎΠ»Π΅:
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ Β«1Π‘: ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅Β» ΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ Β«1Π‘: ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅Β». Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅. ΠΠ»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ AllocMemory ΠΈ FreeMemory, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ ImemoryManager.h. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ΅ Β«1Π‘: ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅Β» ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, Π²Π½Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ΄ Π½Π΅Π΅ ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ AllocMemory. ΠΠ΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π³Π΄Π΅ pMemory β Π°Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ Π°Π΄ΡΠ΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ,
ulCountByte β ΡΠ°Π·ΠΌΠ΅Ρ Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ.
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ΄ ΡΡΡΠΎΠΊΡ:
ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎΠΏΠΈΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ wstring_to_p. ΠΠ½Π° ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° wstring-ΡΡΡΠΎΠΊΡ. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° tVariant. ΠΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΠΈ:
Π’ΠΎΠ³Π΄Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΡΠ΅ΠΊΡΠΈΡ case ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° switch ΠΌΠ΅ΡΠΎΠ΄Π° GetPropVal ΠΏΡΠΈΠΌΠ΅Ρ Π²ΠΈΠ΄:
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΏΠΎΠ»Π΅ ΠΊΠ»Π°ΡΡΠ° CaddInNative
Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅ΠΌ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠΈΠΏ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΌΠ΅ΡΠΎΠ΄ CaddInNative::SetPropVal Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΡΡΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π±ΡΠ΄Π΅ΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ last_type, ΡΠ΅Π³ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅.
ΠΡΠΎΠ²Π΅ΡΠΈΠΌ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ 1Π‘ ΠΊ Π²ΠΈΠ΄Ρ:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ:
3
ΠΠ°ΡΡ
ΠΠ΅ΡΡ
22
ΠΡΠΎΡΠΎΠ΅ ΠΈ ΡΡΠ΅ΡΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π³Π΅. ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΈ Π²ΡΠΎΡΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΊΠΎΠ΄ ΡΠΈΠΏΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°. 3 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, 22 β ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΌΡ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² ΠΈ ΠΈΡ ΠΊΠΎΠ΄ΠΎΠ² ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ types.h, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΠ’Π‘.
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΠΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ GetNProps, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° Β«Π’Π΅ΡΡΒ»:
ΠΠ½Π΅ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΡΠ½ΠΊΡΠΈΡ CAddInNative::GetParamDefValue:
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΏΡΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (VTYPE_EMPTY). ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Π»ΠΈΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°Π΄Π°ΡΡ Π΅Π³ΠΎ Π² ΡΠ΅ΠΊΡΠΈΠΈ eMethTest ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° switch ΡΡΠ½ΠΊΡΠΈΠΈ CAddInNative::GetParamDefValue.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄ Β«Π’Π΅ΡΡΒ» ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΠΈ HasRetVal:
Π Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ΄ ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΡΡΠ½ΠΊΡΠΈΡ CallAsFunc:
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΊΠΎΠ΄ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΊ Π²ΠΈΠ΄Ρ:
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅: Β«ΠΡΠΈΠ²Π΅Ρ, ΠΠΈΡ!Β», ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΡΡΠ°Π±ΠΎΡΠ°Π» ΡΡΠΏΠ΅ΡΠ½ΠΎ.
Π’Π°ΠΉΠΌΠ΅Ρ
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΠ»Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ WM_TIMER Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠΌ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅ nElapse (Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ ). Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠ°. ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ (ΠΈΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΡΠΌ):
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π² Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΠ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π»Ρ ΠΠ‘ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Windows, Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π² Π΄ΡΡΠ³ΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
. ΠΠ»Ρ ΠΠ‘ GNU/Linux, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ SetTimer ΠΈ TimerProc.
Π ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ SetTimer, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ MyTimerProc:
ΠΠ΄Π΅Π½ΡΠ΅ΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ m_uiTimer, ΡΡΠΎΠ±Ρ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ.
Π€ΡΠ½ΠΊΡΠΈΡ MyTimerProc Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π‘ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ExternalEvent, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ΅ Β«1Π‘: ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅Β».
ΠΠ»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π‘ΡΠ°ΡΡΠ’Π°ΠΉΠΌΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
ΠΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ΄ ΠΌΠ΅ΡΠΎΠ΄Π° GetNParams ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° eMethStartTimer Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π» Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1:
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΊΠΎΠ΄ ΠΌΠ΅ΡΠΎΠ΄Π° CallAsProc ΠΊ Π²ΠΈΠ΄Ρ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ΄:
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΠ΄ΡΡ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠΌ Π² 2 ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Β«1Π‘: ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅Β»
ΠΠ»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΉ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Β«1Π‘: ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅Β» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ° IAddInDefBase, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π² ΡΠ°ΠΉΠ»Π΅ AddInDefBase.h. ΠΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅:
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅
wcode, scode β ΠΊΠΎΠ΄Ρ ΠΎΡΠΈΠ±ΠΊΠΈ (ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠ΄ΠΎΠ² ΠΎΡΠΈΠ±ΠΎΠΊ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΠ’Π‘)
source β ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ
descr β ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
ΠΡΠΏΡΠ°Π²ΠΊΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ΅ Β«1Π‘: ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅Β»
wszSource β ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
wszMessage β ΡΠ΅ΠΊΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
wszData β ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅
ΠΠ΅ΡΠ΅Ρ
Π²Π°Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΎΠΉ ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΠΠ½Π΅ΡΠ½Π΅Π³ΠΎΠ‘ΠΎΠ±ΡΡΠΈΡ
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Β«1Π‘: ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅Β»
wszProfileName β ΠΈΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
ΠΡΠΈΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΠ ΠΈ 1Π‘. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΉ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ Β«1Π‘: ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅Β» ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ Π²Π½Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΡΠ²Π°Π΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Β«1Π‘Β» ΠΈ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
.
Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ tVariant
ΠΡΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΉ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Β«1Π‘: ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅Β» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ tVariant. ΠΠ½ ΠΎΠΏΠΈΡΠ°Π½ Π² ΡΠ°ΠΉΠ»Π΅ types.h, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° Π΄ΠΈΡΠΊΠ΅ Ρ ΠΠ’Π‘:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π² 1Π‘. ΠΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π²Π½Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π²Π½Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ 1Π‘, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΆΠ΅ ΠΎΠ½Π° ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π² ΠΏΠ»Π°Π½Π΅ ΡΠ΅ΠΎΡΠΈΠΈ.
1. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π²Π½Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ 1Π‘
ΠΠΈ Π΄Π»Ρ ΠΊΠΎΠ³ΠΎ Π½Π΅ ΡΠ΅ΠΊΡΠ΅Ρ, ΡΡΠΎ 1Π‘ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ΅Π½Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌΠΈ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΈΠ· ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. Π―Π²Π½ΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Ole, COM, web ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π· xml ΠΈ Ρ.Π΄. ΠΠΌΠ΅Ρ Π½Π°Π²ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ/ΠΈΠ»ΠΈ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ Ρ Π»ΡΠ±ΠΎΠΉ cms ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π² ΡΠ΅ΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ Π»ΠΈΠ±ΠΎ ΡΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ api ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π». ΠΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°, ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±ΠΈΡΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ·ΡΠΊ 1Π‘. Π ΡΡΠΎΠΌ ΠΏΠ»Π°Π½Π΅ Π½Π° ΠΏΠΎΠΌΠΎΡΡ Π½Π°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΠΎΠ²ΠΎΡΡ ΠΏΡΠΎΡΡΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ, Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ β ΡΡΠΎ Π² 1Π‘ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Ρ Π½Π°Π±ΠΎΡΠ°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ (ΡΠΎΠ±ΡΠ°Π½Π½ΡΠ΅) Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Π½Π°ΠΌ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½ΡΠΆΠ½ΠΎ ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ Π»ΠΈΠ±ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ (ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΠΊΡΡΠΊΠ΅ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°, Π½ΡΠΆΠ½ΠΎ Π»ΠΈΡΡ Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ), Π»ΠΈΠ±ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΊΠ°ΠΊ ΠΌΠ°ΠΊΠ΅ΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. ΠΡΠΎ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π΅ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Β«ΠΆΠ΅Π»Π΅Π·Π°Β», Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π°ΠΌ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ ΠΌΠ°ΠΊΠ΅Ρ Ρ ΡΠΈΠΏΠΎΠΌ Β«ΠΠ²ΠΎΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅Β»:
2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ 1Π‘. ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
Π₯ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΌΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ. ΠΠ°Π»Π΅Π΅ Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΡΠ»ΠΈ Π²Π½Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΏΠ΅ΡΠ²ΡΠ΅, ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π΅Π΅ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ. ΠΡΠΈΠΌΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅:
ΠΠ»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ. ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ:
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΈ ΡΡΠΎ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π½Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° 1Π‘.
Π Π°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π²Π΅ΡΡΠΌΠ° Π±ΠΎΠ»ΡΡΠΎΠ΅. Π‘ ΠΈΡ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠ΅ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΡΡΠΎΠ³ΠΎ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΡΠΎ, ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ Π»ΠΈΡΡ ΠΈΡ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΡΡΡΡ ΠΈ ΡΠ°Π½ΡΠ°Π·ΠΈΠ΅ΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡ ΡΠΎΠ·Π΄Π°Π΅Ρ.
Π‘ΡΠΎΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΡΠ΅ΡΡΡ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊΡΡ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΡ ΠΠ‘ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ.
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΌΡΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ Π·Π°Π΄Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ. ΠΠ½Π° ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΌΠΎΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΠ°ΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ. Π ΡΠΎΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΊΡΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΠ»Ρ ΡΠ²ΡΠ·ΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π°Π³ΡΡΠ·ΠΊΠΈ-Π²ΡΠ³ΡΡΠ·ΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅, Π² ΡΠΎΡΠΌΠ°ΡΠ΅ XML, ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ OLE Automation, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΡΠ΅ΡΠ΅Π· web-ΡΠ΅ΡΠ²ΠΈΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ Π·Π°Π΄Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΡΠ½ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ΠΌ» ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ.
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ Π·Π°Π΄Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° «Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ». ΠΠ°Π½Π½Π°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΈ ΡΠ΅ΡΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅», ΡΠ°ΡΡΠΈΡΡΡ Π΅Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ΅ΡΠ°ΡΡ ΡΠΈΡΠΎΠΊΠΈΠΉ ΡΠΏΠ΅ΠΊΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ Π·Π°Π΄Π°Ρ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π·Π°Π΄Π°ΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ΠΌ». ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΊΠ°ΠΊ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ, ΡΠ°ΠΊ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ, Π² Ρ.Ρ. ΠΈ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½ΡΡ.
Π ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ Π²Ρ ΠΎΠ΄ΠΈΡ Π΄Π°Π½Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΈ Π½Π°Π±ΠΎΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΎΠΏΠΈΡΠ°Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Native API ΠΈ COM.
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ «Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ»
ΠΠ°ΡΠ°Π»ΠΎΠ³ include ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°Π±ΠΎΡ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ.
ΠΠ°ΡΠ°Π»ΠΎΠ³ lib ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² Mozilla Firefox, Google Chrome, Safari ΠΈ Internet Explorer.
ΠΠ°ΡΠ°Π»ΠΎΠ³ example ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ COM ΠΈ Native API. Π ΡΡΠΎΠΌ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² ΠΈ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
ΠΠ°ΡΠ°Π»ΠΎΠ³ template ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ ΠΏΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Native API.
ΠΠ°ΡΠ°Π»ΠΎΠ³ templateMobile ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ ΠΏΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Native API Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ c ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Native API
ΠΡΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊΠ°ΠΊ Π² ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΠ°ΠΊ ΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅», Π² Π²Π΅ΡΡΠΈΡΡ Π΄Π»Ρ Windows, Linux, Π° ΡΠ°ΠΊΠΆΠ΅ Windows Runtime, Android ΠΈ iOS.
ΠΠ»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Windows Runtime, Android ΠΈ iOS ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΎ.
ΠΠ½Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ». ΠΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡΡΡ ΠΎΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° IComponentBase (ΡΠ°ΠΉΠ» ComponentBase.h Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ) ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ.
ΠΠ½Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ ΠΏΠΎ ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ΅ΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
const WCHAR_T* GetClassNames()
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΈΠΌΠ΅Π½ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
long GetClassObject(const WCHAR_T* clsName, IComponentBase** pIntf)
Π’ΠΈΠΏ: IComponentBase**. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π°Π΄ΡΠ΅Ρ Π²Π½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΡΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ ΠΈΠ»ΠΈ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ 0.
long DestroyObject(IComponentBase** pIntf)
Π’ΠΈΠΏ: IComponentBase**. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅ΡΡ.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ²ΠΎΠΈΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΈΠΌ ΠΏΠ°ΠΌΡΡΡ. ΠΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ 0, ΠΈΠ½Π°ΡΠ΅ β ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ (Runtime error).
AppCapabilities SetPlatformCapabilities(const AppCapabilities capabilities)
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²Π΅ΡΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Π΅ΡΠ½ΡΡΡ Π²Π΅ΡΡΠΈΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°, ΡΠΎ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π΅ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, Π·Π°ΠΏΡΠΎΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅.
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Π΅ΡΠ½ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠΈΠΏ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°, ΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π±ΡΠ΄ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
bool Init(void* Interface)
ΠΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π²ΡΠ·ΡΠ²Π°Ρ ΠΌΠ΅ΡΠΎΠ΄ Init ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° IAddInDefBase. ΠΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΡΠΎΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ±ΡΠ΅ΠΊΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡΡ true, Π΅ΡΠ»ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΡΠ»Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΠΈ false ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ.
bool setMemManager(void* memManager)
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ΅ΠΊ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ΄Π΅Π»ΡΡΡ ΠΏΠ°ΠΌΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ AllocMemory, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ. «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ ΡΡΡ ΠΏΠ°ΠΌΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ FreeMemory.
ΠΠΠΠΠ : Π½Π΅Π»ΡΠ·Ρ Π²ΡΠ΄Π΅Π»ΡΡΡ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ new ΠΈΠ»ΠΈ malloc, Ρ.ΠΊ. ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΡΠ΅ΡΠΊΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΊ Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
«1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: Π²Π΅ΡΡΠΈΡ 3.56 β ΡΠΈΡΠ»ΠΎ 3560.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: Π½Π΅Ρ.
«1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (ΠΌΠ΅ΡΠΎΠ΄ Init).
bool RegisterExtensionAs(WCHAR_T** wsExtName)
Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ wsExtName ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΌΡΡΡ Π΄Π»Ρ ΡΡΡΠΎΠΊΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ AllocMemory ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΠΌΡΡΠΈ. «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΡΡΡ ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ FreeMemory.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ²ΠΎΠΉΡΡΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, 0 β ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ².
long FindProp(const WCHAR_T* wsPropName);
const WCHAR_T* GetPropName(long lPropNum, long lPropAlias)
Π Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΠΌΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lPropNum; Π΅ΡΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Ρ ΡΠ°ΠΊΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ NULL. ΠΠ°ΠΌΡΡΡ Π΄Π»Ρ ΡΡΡΠΎΠΊΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ AllocMemory ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΠΌΡΡΠΈ. «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΡΡΡ ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ FreeMemory.
bool GetPropVal(const long lPropNum, tVariant* pvarPropVal)
Π’ΠΈΠΏ: tVariant*. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ tVariant, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ pvarPropVal ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lPropNum; Π΅ΡΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Ρ ΡΠ°ΠΊΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΈΠ»ΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏ VTYPE_EMPTY. ΠΡΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ ΡΡΡΠΎΠΊΠ°, ΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ Π½Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ AllocMemory. «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ ΡΡΡ ΠΏΠ°ΠΌΡΡΡ.
bool SetPropVal(const long lPropNum, tVariant* pvarPropVal);
Π’ΠΈΠΏ: tVariant*. Π‘ΡΡΡΠΊΡΡΡΠ° tVariant, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ pvarPropVal ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lPropNum; Π΅ΡΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Ρ ΡΠ°ΠΊΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ»ΠΈ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ pvarPropVal Π½Π΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ, ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡΡ false.
bool IsPropReadable(const long lPropNum)
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠ»Π°Π³ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lPropNum: false β ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, true β ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΡΠ΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Ρ ΡΠ°ΠΊΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ false.
bool IsPropWritable(const long lPropNum)
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠ»Π°Π³ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lPropNum: false β ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ, true β ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π·Π°ΠΏΠΈΡΡ. ΠΡΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Ρ ΡΠ°ΠΊΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ false.
ΠΠ΅ΡΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ 0. ΠΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ 0.
long FindMethod(const WCHAR_T* wsMethodName);
const WCHAR_T* GetMethodName(const long lMethodNum, const long lMethodAlias)
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΈΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ; Π΅ΡΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Ρ ΡΠ°ΠΊΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ NULL. ΠΠ°ΠΌΡΡΡ Π΄Π»Ρ ΡΡΡΠΎΠΊΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ AllocMemory ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΠΌΡΡΠΈ. «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΡΡΡ ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ FreeMemory.
long GetNParams(const long lMethodNum)
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lMethodNum; Π΅ΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Ρ ΡΠ°ΠΊΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΈΠ»ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ 0.
bool GetParamDefValue(const long lMethodNum, const long lParamNum, tVariant* pvarParamDefValue)
Π’ΠΈΠΏ: tVariant*. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ tVariant, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ pvarParamDefValue ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lParamNum ΠΌΠ΅ΡΠΎΠ΄Π° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lMethodNum. Π pvarParamDefValue ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠΈΠΏ VTYPE_EMPTY, Π΅ΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Ρ ΡΠ°ΠΊΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ VTYPE_PSTR, VTYPE_PWSTR ΠΈΠ»ΠΈ VTYPE_BLOB, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ AllocMemory ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΠΌΡΡΠΈ, Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΡΠ΄Π° Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΡΠΎΡ Π°Π΄ΡΠ΅Ρ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΠΏΠΎΠ»Π΅ ΡΡΡΡΠΊΡΡΡΡ. «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ ΡΡΡ ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ FreeMemory.
bool HasRetVal(const long lMethodNum)
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠ»Π°Π³ Π½Π°Π»ΠΈΡΠΈΡ Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lMethodNum Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: true Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ false Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅.
bool CallAsProc(const long lMethodNum, tVariant* paParams, const long lSizeArray)
ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lMethodNum. ΠΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ false, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅ΡΡΡ. ΠΠ°ΠΌΡΡΡ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΡΡΡ «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ΠΌ».
bool CallAsFunc(const long lMethodNum, tVariant* pvarRetValue, tVariant* paParams, const long lSizeArray)
Π’ΠΈΠΏ: tVariant*. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ tVariant, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lMethodNum. ΠΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ false, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅ΡΡΡ. ΠΠ°ΠΌΡΡΡ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ΠΌ». ΠΡΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ ΡΡΡΠΎΠΊΠ° ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ AllocMemory ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΠΌΡΡΠΈ, Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΡΠ΄Π° Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΡΠΎΡ Π°Π΄ΡΠ΅Ρ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΠΏΠΎΠ»Π΅ ΡΡΡΡΠΊΡΡΡΡ. «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ ΡΡΡ ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ FreeMemory.
ΠΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
void SetLocale(const WCHAR_T* wsLocale)
«1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ²ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ
ΠΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π΅ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ Π½ΠΈΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
bool AddError(unsigned short wcode, const WCHAR_T* source, const WCHAR_T* descr, long scode)
ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ°. ΠΡΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true β ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π°. ΠΡΠ»ΠΈ scode ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β Π±ΡΠ΄Π΅Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ΅Π½ΠΎ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ».
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ «ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ ΡΠ°Π±ΠΎΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°» Π΄Π»Ρ COM-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ.
bool RegisterProfileAs(WCHAR_T* wsProfileName)
Π Π΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ wsProfileName.
bool Read(WCHAR_T* pszPropName, tVariant* pVal, long* pErrCode, WCHAR_T** errDescriptor)
Π’ΠΈΠΏ: WCHAR_T*. ΠΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°
Π§ΠΈΡΠ°Π΅Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ pszPropName. Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΡΠ΄Π°ΡΠΈ ΡΡΠ΅Π½ΠΈΡ, ΠΈ Π½Π΅Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ errDescriptor, «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» Π²ΡΠ΄Π΅Π»ΠΈΡ ΠΏΠ°ΠΌΡΡΡ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ FreeMemory. ΠΠ»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ ΡΠΈΠΏΠ° ΡΡΡΠΎΠΊΠ°, ΠΏΠ°ΠΌΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅»ΠΌ ΠΈ Π°Π΄ΡΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΠΏΠΎΠ»Π΅ ΡΡΡΡΠΊΡΡΡΡ tVariant. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ Π΅Π΅ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ FreeMemory.
bool Write(WCHAR_T* pszPropName, tVariant* pVar)
Π’ΠΈΠΏ: WCHAR_T*. ΠΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°
Π’ΠΈΠΏ: tVariant _t*. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°
Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ pszPropName. Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΡΠ΄Π°ΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ false.
bool SetEventBufferDepth( long lDepth)
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ±ΡΡΠΈΠΉ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π΄Π»ΠΈΠ½Ρ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΡΠ΄Π°Π»ΡΡΡΡΡ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
bool ExternalEvent(WCHAR_T* wsSource, WCHAR_T* wsMessage, WCHAR_T* wsData)
ΠΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π·Π°ΠΏΠΈΡΡΠ²Π°Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ, Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΎΠ±ΡΡΠΈΡ. ΠΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΠΠ½Π΅ΡΠ½Π΅Π³ΠΎΠ‘ΠΎΠ±ΡΡΠΈΡ. ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄Π° ExternalEvent Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: ΡΠΎΠ±ΡΡΠΈΠ΅ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠ±ΡΡΠΈΠΉ (Π΅ΡΠ»ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°Π½ΡΡΠ°, ΡΠΎΠ±ΡΡΠΈΠ΅ ΡΠ΅ΡΡΠ΅ΡΡΡ), Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈΠ· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π±Π΅ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ (Π΅ΡΠ»ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π΅ ΠΏΡΡΡΠ°) ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ.
ΠΡΠΈΡΠ°Π΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΠ΄Π°Π»ΡΡ Π²ΡΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠ±ΡΡΠΈΡ.
bool SetStatusLine(WCHAR_T* wsStatusLine)
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡ ΡΡΡΠΎΠΊΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΡΡΠΎΠΊΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.
IInterface* GetInterface(Interfaces iface)
ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΡΠ»ΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ, Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠ½Π°ΡΠ΅ β 0.
bool Confirm(const WCHAR_T* queryText, tVariant* retVal)
ΠΡΠ²ΠΎΠ΄ΠΈΡ Π΄ΠΈΠ°Π»ΠΎΠ³ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ, Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ queryText, ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ΠΠ ΠΈ ΠΡΠΌΠ΅Π½Π°.
bool Alert(const WCHAR_T* text)
Π’ΠΈΠΏ: WCHAR_T*. Π’Π΅ΠΊΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΡΡΠΎΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ, Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ text ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΠ.
ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅. ΠΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π½ΠΈΠΆΠ΅ 8.3.3, Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅ Application ΡΡΡΡΠΊΡΡΡΡ AppInfo.
ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΠΏΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² tVariant ΠΈ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠΏΠ°ΠΌΠΈ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΈ COM:
Π’ΠΈΠΏΡ VTYPE_INTERFACE, VTYPE_VARIANT Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
Π§ΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΠ· Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡ Ρ Π»ΡΠ±ΡΠΌ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌ ΡΠΈΠΏΠΎΠΌ.
Π’ΠΈΠΏ VTYPE_BLOB Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π² Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Native API
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΠΎΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΡΠΎΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΊΠ°ΠΊ Π΄Π»Ρ x86 ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ x86-64. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ ΡΠΈΠΏ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡ Π½ΡΠΆΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
Π’Π°ΠΊ ΠΆΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Π° Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π»ΡΠ±ΠΎΠΉ ΠΠ‘. ΠΠΎΡΡΠΎΠΌΡ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π΅Π»Π°ΡΡ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠΉ.
«1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Unicode (WCHAR_T) Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΡΠΈΠΌΠ²ΠΎΠ»Π° 2 Π±Π°ΠΉΡΠ°. Π Π°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ wchar_t Π΄Π»Ρ ΠΠ‘ Windows, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π΄Π»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΠΠ‘, Π³Π΄Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π·ΠΌΠ΅Ρ wchar_t, ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ 4 Π±Π°ΠΉΡΠ°. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.
ΠΡΠ»ΠΈ Π²Π½Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π½Π΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ run-time Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ (Π΅ΡΠ»ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Π½Π° run-time Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ), ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π³Π΄Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΈΠ»ΠΈ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. Π’Π°ΠΊ ΠΆΠ΅ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π»Ρ Windows Π½ΡΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ.
ΠΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ΅Π½Ρ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Ρ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅, Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π° Π² «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° AddError.
Π ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ, Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠΎΠΉ ΡΡΠ°ΡΡΡΠ° ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π»ΡΠ±ΡΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ β ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Π°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΠΏΠΎΠ»Π΅ pstrVal ΡΡΡΡΠΊΡΡΡΡ tVariant, Π² strLen β ΡΠ°Π·ΠΌΠ΅Ρ Π΄Π°Π½Π½ΡΡ , Π° ΡΠΈΠΏ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² VTYPE_BLOB. «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π»Ρ Π½ΠΈΡ ΡΠΈΠΏ ΠΠ²ΠΎΠΈΡΠ½ΡΠ΅ΠΠ°Π½Π½ΡΠ΅.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π²ΠΎ Π²Π½Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΡΠΊΡΡΡΡ tm ΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΠ° VTYPE_TM. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π°ΡΡ ΠΊΠ°ΠΊ Π² struct tm, ΡΠ°ΠΊ ΠΈ Π² ΡΠΈΠΏΠ΅ DATE Windows, ΡΠΊΠ°Π·Π°Π² ΡΠΈΠΏ VTYPE_DATE. «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° VTYPE_ARRAY ΠΈ VTYPE_BYREF Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Web-ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅»
ΠΠΎ Π²ΡΠ΅ΠΌΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Web-ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ http-ΡΠ΅ΡΠ²Π΅ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΈΠΏΡ MIME Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ:
Π’ΠΈΠΏ MIME: application/octet-stream
ΠΠ‘ Windows Runtime
ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ΄ ΠΠ‘ Windows Runtime ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Windows 8.1 Ρ MS Visual Studio 2017 (ΠΏΠ°ΠΊΠ΅Ρ Windows Phone SDK).
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π³ΡΡΠΏΠΏΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ *.dll Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΈ ΠΏΠ»Π°Π½ΡΠ΅ΡΠΎΠ² Π²ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ².
ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ \example\NativeAPIMobile\WinRT_Proj\.
ΠΡΠ»Π°Π΄ΠΊΠ° Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π² ΠΏΠΎΡΡΠ°Π²ΠΊΠ΅ mobile.zip\Windows\vcproj.zip:
ΠΠ΅ΡΠ΅Π΄ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ appx\ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π°ΡΡ ΠΈΠ²Π° ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ 1cem-XXXXX.appx.
ΠΠ°Π»Π΅Π΅, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° MS Visual Studio.
ΠΠ»Ρ Windows Runtime Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈΠ· Web-ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΠ‘ Android
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΠΎΠ΄ ΠΠ‘ Android ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ c++, ΡΠ°ΠΊ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java Native Interface.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΠΎΠ΄ ΠΠ‘ Android Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π³ΡΡΠΏΠΏΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ *.so Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ². Π ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Java, ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» *.apk. Π€Π°ΠΉΠ» *.apk Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π½Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°. ΠΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΎΠ½ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΡΡΠ°Π² ΡΠΎΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ \example\NativeAPIMobile\Android_Proj\.
ΠΠ»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈΠ· Web-ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ (Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ) Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ Ρ Web-ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.
ΠΠ‘ iOS
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ iOS Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π² AppStore. Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΠΎΠ΄ ΠΠ‘ iOS Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°ΠΉΠ» Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ *.dylib Π΄Π»Ρ ΡΠ΅Π»Π΅ΠΉ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠΈ *.a Π΄Π»Ρ ΡΠ±ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠ»Π°Π΄ΠΊΠ° Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎΡΡ Π² ΠΏΠΎΡΡΠ°Π²ΠΊΠ΅ mobile.zip\iOS\prjios.zip.
ΠΠ°Π»Π΅Π΅, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Xcode.
ΠΠ»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈΠ· Web-ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ (Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ) Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ Ρ Web-ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ ΠΠ‘ iOS 10.0, ΡΡΠ°Π»Π° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈΠ· Web-ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΄Π»Ρ ΡΠ΅Π»Π΅ΠΉ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ *.a.
ΠΠΎΠ΄ΠΏΠΈΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°
ΠΠΎΠ΄ΠΏΠΈΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΠ»ΠΈΡΡ codesign ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° *.a ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΡΠ΅ΠΌ Π²Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
ΠΠ»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ° ΠΈΠΌΠ΅Π½, ΠΊΠΎΠ΄ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½. ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½ΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ.
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ \example\NativeAPIMobile\iOS_Proj\.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ COM
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ COM ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π² «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ» Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ (7.7, 8.0 ΠΈ 8.1).
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠΎΠ΄ Windows Runtime, Android ΠΈ iOS, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΠΠ½Π΅ΡΠ½ΡΡΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ( ) ProgID COM-ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΡΡΠΎΠΊΠΎΠΉ Π²ΠΈΠ΄Π° ProgID1| ProgID2|. |ProgIDX.
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π²ΡΠ³ΡΡΠ·ΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
ΠΠ»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π²ΡΠ³ΡΡΠ·ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ IInitDone. ΠΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ ΠΎΡ IUnknown ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ.
HRESULT Init(IDispatch *pBackConnection)
Π’ΠΈΠΏ: IDispatch. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ.
ΠΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π²ΡΠ·ΡΠ²Π°Ρ ΠΌΠ΅ΡΠΎΠ΄ Init ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° IDispatch. ΠΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΡΠΎΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ, Π²ΡΠ·Π²Π°Π² ΠΌΠ΅ΡΠΎΠ΄ QueryInterface ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΅ΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° IDispatch. ΠΠ±ΡΠ΅ΠΊΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡΡ S_OK, Π΅ΡΠ»ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΡΠ»Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΠΈ E_FAIL ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ IerrorLog Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ . ΠΡΠΈ ΡΡΠΎΠΌ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎΠΉ, Π΅ΡΠ»ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡ EXCEPINFO ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ»Π΅ scode, Π½Π΅ ΡΠ°Π²Π½ΠΎΠ΅ S_OK. ΠΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π² IErrorLog Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°. Π ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ AppDispatch Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ.
«1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΠ±ΡΠ΅ΠΊΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡΡ S_OK. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (ΠΌΠ΅ΡΠΎΠ΄ Init).
HRESULT GetInfo(SAFEARRAY** pInfo)
Π’ΠΈΠΏ: SAFEARRAY**. ΠΠ²ΠΎΠΉΠ½ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΡΠΊΡΡΡ VARIANT. ΠΠ°ΠΌΡΡΡ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ΠΌ».
«1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅. Π ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ 2.0 ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ 0 Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ V_I4 β ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΡΠ°ΡΡΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΡΡΡΡΠ½ΡΠ΅ ΡΠ°Π·ΡΡΠ΄Ρ, ΠΌΠ»Π°Π΄ΡΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ β Π² Π΅Π΄ΠΈΠ½ΠΈΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: Π²Π΅ΡΡΠΈΡ 3.56 β ΡΠΈΡΠ»ΠΎ 3560. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ 1.0 (ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΈΡΠ»Ρ 1000) ΠΈΠ»ΠΈ 2.0 (ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ 2000). ΠΠ°ΠΌΡΡΡ Π΄Π»Ρ pInfo Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ΠΌ». ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ S_OK.
ΠΠ±ΡΠ΅ΠΊΡ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΎΠ±ΡΠ·Π°Π½ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΡΠΈ Π΅Π³ΠΎ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½Π°.
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°
ΠΠ»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ILanguageExtender. ΠΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ ΠΎΡ IUnknown ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ. ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π‘ΠΎΠ·Π΄Π°ΡΡΠΠ±ΡΠ΅ΠΊΡ (ΠΠΎΠ²ΡΠΉ Π² «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ 8»), ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π΅ΠΉ ΡΡΡΠΎΠΊΡ Π²ΠΈΠ΄Π° «AddIn. «, Π³Π΄Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠ°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π²ΡΠ·ΡΠ²Π°Ρ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
ΠΠ΅ΡΡΠΈΡ 2.0 ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° «AddIn. «, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π²Π΅ΡΡΠΈΠΈ 2.0 Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ GetInfo. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
HRESULT RegisterExtensionAs(BSTR *pExtensionName)
Π’ΠΈΠΏ: BSTR*. ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ.
Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ pExtensionName ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΌΡΡΡ Π΄Π»Ρ ΡΡΡΠΎΠΊΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ COMβΡΡΡΠΎΠΊΠ°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, SysAllocString. «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΡΡΡ ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ SysFreeString).
HRESULT GetNProps(long* plProps)
Π’ΠΈΠΏ: long*. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ²ΠΎΠΉΡΡΠ² ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ²ΠΎΠΉΡΡΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, 0 β ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ². ΠΠ°ΠΌΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ plProps Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ΠΌ».
HRESULT FindProp(BSTR pszPropName,long* plPropNum)
Π’ΠΈΠΏ: BSTR. ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
Π’ΠΈΠΏ: long*. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
HRESULT GetPropName(long lPropNum,long lAliasNum,BSTR* pPropName)
Π’ΠΈΠΏ: BSTR*. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΠΎΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ pPropName ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΠΌΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lPropNum; Π΅ΡΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Ρ ΡΠ°ΠΊΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, Π² pPropName ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ°. ΠΠ°ΠΌΡΡΡ Π΄Π»Ρ ΡΡΡΠΎΠΊΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ COMβΡΡΡΠΎΠΊΠ°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, SysAllocString. «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΡΡΡ ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ SysFreeString).
HRESULT GetPropVal(long lPropNum,VARIANT* pvPropVal)
Π’ΠΈΠΏ: VARIANT*. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ VARIANT, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ pvPropVal ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lPropNum, Π΅ΡΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Ρ ΡΠ°ΠΊΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΈΠ»ΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏ VT_EMPTY.
HRESULT SetPropVal(long lPropNum, VARIANT* pvPropVal)
Π’ΠΈΠΏ: VARIANT*. Π‘ΡΡΡΠΊΡΡΡΠ° VARIANT, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ pvPropVal ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lPropNum; Π΅ΡΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Ρ ΡΠ°ΠΊΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ»ΠΈ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ pvPropVal Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΌΡ, ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡΡ S_FALSE.
HRESULT IsPropReadable(long lPropNum, BOOL* pboolPropReadable)
Π’ΠΈΠΏ: BOOL*. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ ΡΠ»Π°Π³ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ pboolPropReadable ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ»Π°Π³ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lPropNum: FALSE(0) β ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, TRUE(1) β ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΡΠ΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Ρ ΡΠ°ΠΊΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ S_FALSE.
HRESULT IsPropWritable(long lPropNum, BOOL* pboolPropWritable)
Π’ΠΈΠΏ: BOOL*. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ ΡΠ»Π°Π³ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ pboolPropWritable ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ»Π°Π³ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lPropNum: FALSE(0) β ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ, TRUE(1) β ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π·Π°ΠΏΠΈΡΡ. ΠΡΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Ρ ΡΠ°ΠΊΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ S_FALSE.
ΠΠ΅ΡΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ 0. ΠΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ 0.
HRESULT GetNMethods(long* plMethods)
Π’ΠΈΠΏ: long*. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ°.
HRESULT FindMethod(BSTR bstrMethodName, long* plMethNum)
Π’ΠΈΠΏ: long*. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ methodName.
HRESULT GetMethodName(long lMethodNum, long lAliasNum, BSTR* pbstrMethName)
Π’ΠΈΠΏ: BSTR*. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΠΎΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ ΠΈΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π°.
Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ pbstrMethName ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ; Π΅ΡΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Ρ ΡΠ°ΠΊΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, Π² ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ°. ΠΠ°ΠΌΡΡΡ Π΄Π»Ρ ΡΡΡΠΎΠΊΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ COMβΡΡΡΠΎΠΊΠ°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, SysAllocString. «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΡΡΡ ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ SysFreeString).
HRESULT GetNParams(long lMethodNum, long* plMethParams)
Π’ΠΈΠΏ: long*. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π°.
Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ plMethParams ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lMethodNum; Π΅ΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Ρ ΡΠ°ΠΊΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΈΠ»ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π² ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ 0. ΠΠ°ΠΌΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅»ΠΌ.
HRESULT GetParamDefValue(long lMethodNum, long lParamNum, VARIANT* pvParamDefVal)
Π’ΠΈΠΏ: VARIANT*. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ VARIANT, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ pvParamDefVal ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° lParamNum ΠΌΠ΅ΡΠΎΠ΄Π° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lMethodNum. Π pvParamDefVal ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠΈΠΏ VT_EMPTY, Π΅ΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Ρ ΡΠ°ΠΊΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ°ΠΌΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ΠΌ».
HRESULT HasRetVal(long lMethodNum,BOOL* pboolHasRetVal)
Π’ΠΈΠΏ: BOOL*. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ ΡΠ»Π°Π³ Π½Π°Π»ΠΈΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ pboolHasRetVal ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ»Π°Π³ Π½Π°Π»ΠΈΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lMethodNum: TRUE Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ FALSE Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅. ΠΠ°ΠΌΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅»ΠΌ.
HRESULT CallAsProc(long lMethodNum, SAFEARRAY** pVars)
Π’ΠΈΠΏ: SAFEARRAY**. ΠΠ²ΠΎΠΉΠ½ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΡΠΊΡΡΡ VARIANT, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π°. ΠΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ NULL.
ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ lMethodNum. ΠΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ E_FAIL, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅ΡΡΡ. ΠΠ°ΠΌΡΡΡ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅»ΠΌ.
HRESULT CallAsFunc(long lMethodNum, VARIANT* pRetValue, SAFEARRAY** pVars)
Π’Π΅Π³ΠΈ Π² Π°ΡΡΠΈΠ±ΡΡΠ΅ name=»β¦» ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ±ΠΎΡΡΠΈΠΊΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΅Π³Π° (ΡΠ΅Π³ΠΎΠ²) Π±Π΅Π· Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²Π½ΠΎΡΠΈΡΡΡ ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠΌ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ΅Π³ ΡΠ°ΠΉΠ»Π° Info.plist.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ANDROID_MANIFEST_EXTENSIONS.XML
Π€Π°ΠΉΠ» ANDROID_MANIFEST_EXTENSIONS.XML ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΠ‘ Android. ΠΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅ AndroidManifest.xml, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠ°Π², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π€Π°ΠΉΠ» Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»Π΅Π½ ΠΈ Π΅Π³ΠΎ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠ°ΡΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΊΠ°ΠΊ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² AndroidManifest.xml.
Π€ΠΎΡΠΌΠ°Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
ΠΠΎΡΠ»Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° XML ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ΅Π³ Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ. Π’Π΅Π³ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΡΠ΅Π³Ρ Π² ΡΠ°ΠΉΠ»Π°Ρ AndroidManifest.xml.
ΠΡΠ΅ ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ΅Π³Π°Ρ Π²ΡΡΠ°Π²ΠΈΡΡΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π² Π°ΡΡΠΈΠ±ΡΡΠ΅ xpath=»β¦» ΡΠ°ΡΡΡ AndroidManifest.xml.
Π Π°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅Π³ ΠΈ (ΡΠ°ΠΉΠ»ΠΎΠ² AndroidManifest.xml).
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Π΄Π»Ρ uses-permission, uses-feature ΠΈ Ρ.ΠΏ. ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Android.
ΠΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² ΡΠ΅Π³ΠΈ uses-permission Π°ΡΡΠΈΠ±ΡΡΡ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ SDK. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°ΠΌ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° WINDOWS_RT_MANIFEST_EXTENSIONS.XML
Π€Π°ΠΉΠ» WINDOWS_RT_MANIFEST_EXTENSIONS.XML ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠΌ Π΄Π»Ρ ΠΠ‘ Windows Runtime. ΠΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅ AppxManifest.xml, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠ°Π², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π€Π°ΠΉΠ» Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»Π΅Π½ ΠΈ Π΅Π³ΠΎ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠ°ΡΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΊΠ°ΠΊ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ.
Π€ΠΎΡΠΌΠ°Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
Π’Π΅Π³ΠΈ Π² Π°ΡΡΠΈΠ±ΡΡΠ΅ xpath=»β¦» ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ±ΠΎΡΡΠΈΠΊΡ ΠΏΡΠ½ΠΊΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² «Name=’XXXXX'» Π² ΡΠ°ΠΉΠ»Π΅ AppxManifest.xml.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΎΠ² ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π΄Π»Ρ Windows.
ΠΡΠ°Π²ΠΈΠ»Π° ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ «1C:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅»
Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ, Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΎΡ ΡΠ°Π·Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΈ Ρ ΡΠ΅Π»ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΈΠΌΠ΅Π½ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
ΠΠΌΡ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· Π»Π°ΡΠΈΠ½ΡΠΊΠΈΡ Π±ΡΠΊΠ² ΠΈ/ΠΈΠ»ΠΈ ΡΠΈΡΡ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ. Π Π°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π·Π½Π°ΠΊΠ° ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ (_). ΠΠ΅ΡΠ²ΡΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π±ΡΠΊΠ²Π° ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ (_). ΠΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ.
ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π² ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅ΡΡΡ ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΡΠ°ΠΉΡ, ΠΈ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 1c.com, ΡΠΎ ΠΈΠΌΡ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΡΡΠΈΡ ΠΆΠ΅ ΡΠ»ΠΎΠ², Π²ΡΠΏΠΈΡΠ°Π½Π½ΡΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅: com_1c. Π’ΠΎΡΠΊΠΈ Π·Π°ΠΌΠ΅Π½ΡΡΡΡΡ Π½Π° Π·Π½Π°ΠΊ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ (_). ΠΠ°Π»Π΅Π΅ ΡΠ΅ΡΠ΅Π· (_) ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΡ ΡΠ°ΠΌΠΎΠΉ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
ΠΡΠ»ΠΈ ΠΈΠΌΡ ΡΠ°ΠΉΡΠ° ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΊ ΠΈΠΌΠ΅Π½ΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π² ΡΠ°Π±ΠΎΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΠΈΡΡΠ²Π°ΡΡ, ΡΡΠΎ Π²Π½Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π° ΠΊΠ°ΠΊ Π² ΠΎΠΊΠΎΠ½Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ (ΡΠΎΠ½ΠΊΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ, ΡΠΎΠ»ΡΡΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ), ΡΠ°ΠΊ ΠΈ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΈΠ»ΠΈ Π² Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅), Π³Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈ ΠΎΠΊΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΉΠΌΠ΅ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ Ρ ΡΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
Π ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΠΈΠ· ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°, Ρ.ΠΊ. ΠΏΠΎΠΊΠ°Π· ΠΌΠΎΠ΄Π°Π»ΡΠ½ΡΡ ΠΎΠΊΠΎΠ½ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ «Π·Π°Π²ΠΈΡΠ°Π½ΠΈΠ΅» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ»Ρ Windows Runtime Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈΠ· Web-ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΠ»Ρ iOS Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈΠ· Web-ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π° ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΠΠ‘ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ iOS 9.3.5 Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²
Π ΠΏΠΎΡΡΠ°Π²ΠΊΡ Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ Π²Ρ ΠΎΠ΄ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Native API ΠΈ Π‘ΠΠ, ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Mozilla Firefox, Google Chrome ΠΈ Internet Explorer. ΠΡΠΎΠΌΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π² ΠΏΠΎΡΡΠ°Π²ΠΊΡ Π²ΠΊΠ»ΡΡΠ΅Π½ ΡΠ°Π±Π»ΠΎΠ½, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ «Ρ Π½ΡΠ»Ρ».
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½Ρ Π΄ΡΡΠ³ ΠΊ Π΄ΡΡΠ³Ρ (ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ, Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈ Ρ.Π΄.), ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΈ ΡΠ°Π·Π±ΠΎΡΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ.
Π ΡΠ²ΡΠ·ΠΈ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ . Π Π½Π΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠ°Π³ΠΎΠΌΠ΅Ρ. Π Π°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ \example\NativeAPIMobile\.
ΠΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ CMake, Π²Π΅ΡΡΠΈΠΈ Π½Π΅ Π½ΠΈΠΆΠ΅ 3.6, NSIS Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΠ‘ Windows, makeself Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΠ‘ GNU/Linux.
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ:
ΠΡΠΈΠΌΠ΅ΡΡ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ «1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅» Π΄Π»Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°
Π‘Π²ΠΎΠΉΡΡΠ²Π°
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: Π§ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅: Π’ΠΈΠΏ: ΠΡΠ»Π΅Π²ΠΎ. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅: Π’ΠΈΠΏ: ΠΡΠ»Π΅Π²ΠΎ. ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.