ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ ΡΠ°ΡΡΠΈΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ. ΠΠ΅Π· Π½ΠΈΡ
Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΎΡΠ°ΠΌΠΈ, Π±ΠΈΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠΊΠ°Π½Π΅ΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π²ΠΎΠΏΡΠΎΡΡ Π΄Π°ΠΆΠ΅ Ρ ΠΎΠΏΡΡΠ½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²: ΠΎΡ Π²ΡΠ±ΠΎΡΠ° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ (.dll, .ocx, .so) Π΄ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π² ΡΠ΅Π΅ΡΡΡΠ΅ Windows ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ°.
ΠΡΠ° ΡΡΠ°ΡΡΡ ΠΎΡ
Π²Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΡΠ°ΠΏΡ β ΠΎΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΠ΅ Π½Π°ΠΉΠ΄Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ»ΠΈ ΠΡΠΈΠ±ΠΊΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ), ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ
ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ Π½ΡΠ°Π½ΡΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
Π²Π΅ΡΡΠΈΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ 1Π‘ 8.3. ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»Π΅Π½ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ: ΠΊΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΈΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² Ρ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ°ΠΌΠΈ.
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π½Π΅Π΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ, Π½Π°ΡΠ½ΠΈΡΠ΅ Ρ ΡΠ°Π·Π΄Π΅Π»Π° ΠΎ Π²ΡΠ±ΠΎΡΠ΅ ΡΠΈΠΏΠ° β ΡΡΠΎ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ ΡΠ°ΡΡ Π½Π° ΠΏΠ΅ΡΠ΅Π΄Π΅Π»ΠΊΡ ΠΊΠΎΠ΄Π°. ΠΠ»Ρ ΠΎΠΏΡΡΠ½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΠΎΠ»Π΅Π·Π½Ρ Π±ΡΠ΄ΡΡ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΠΈ Π±Π»ΠΎΠΊ ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠ΅ΡΠ΅Π· ΠΠ°Π³ΡΡΠ·ΠΈΡΡΠΠ½Π΅ΡΠ½ΡΡΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ().
1. Π’ΠΈΠΏΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ: ΠΊΠ°ΠΊΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ Π²ΡΠ±ΡΠ°ΡΡ?
ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² 1Π‘ Π΄Π΅Π»ΡΡΡΡ Π½Π° ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠ° ΠΏΠΎ ΡΠΎΡΠΌΠ°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²:
- π DLL-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ (
.dllΠ΄Π»Ρ Windows,.soΠ΄Π»Ρ Linux) β Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ΅Π· COM-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈΠ»ΠΈ Native API. ΠΡΠΈΠΌΠ΅Ρ:AtClientΠΈAtServerΠΌΠ΅ΡΠΎΠ΄Ρ. - π₯οΈ ActiveX/COM-ΠΎΠ±ΡΠ΅ΠΊΡΡ (
.ocx,.dllΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠ΅ΠΉ) β ΡΡΠ΅Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ΅Π΅ΡΡΡ Windows. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ MS Office ΠΈΠ»ΠΈ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. - π HTTP-ΡΠ΅ΡΠ²ΠΈΡΡ (REST/SOAP) β Π½Π΅ ΡΡΠ΅Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ, Π½ΠΎ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠ΅ΡΠΈ. ΠΠΊΡΡΠ°Π»ΡΠ½Ρ Π΄Π»Ρ ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ.
ΠΠ»Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ (1Π‘ 8.3.20+) ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΎΡΠ΄Π°Π²Π°ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠ΅ Native API (ΡΠ΅ΡΠ΅Π· .dll Π±Π΅Π· COM). ΠΡΠΎ ΡΡΡΡΠ°Π½ΡΠ΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ UI-ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΡΡΠ΅Ρ Π³ΡΠ°ΡΠΈΠΊΠΈ), ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ActiveX.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π° .NET (ΡΠ΅ΡΠ΅Π· CLR) ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π² ΡΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ ΠΈ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ 1Π‘. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΈΡ
ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ
Π·Π°Π΄Π°Ρ.
| Π’ΠΈΠΏ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ | ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² | Π’ΡΠ΅Π±ΡΠ΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ | ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ |
|---|---|---|---|
.dll (Native API) |
Π’ΠΎΠ»ΡΡΡΠΉ, ΡΠΎΠ½ΠΊΠΈΠΉ, Π²Π΅Π± | ΠΠ΅Ρ | Π Π°Π±ΠΎΡΠ° Ρ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ USB |
.ocx/COM |
Π’ΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ»ΡΡΡΠΉ | ΠΠ° (regsvr32) | ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ 1Π‘:ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠΎΠ±ΠΎΡΠΎΡ |
| HTTP-ΡΠ΅ΡΠ²ΠΈΡ | ΠΡΠ΅ ΡΠΈΠΏΡ | ΠΠ΅Ρ | ΠΠ±ΠΌΠ΅Π½ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ API |
2. ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ: ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅?
ΠΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ:
- π Π‘Π°ΠΌ ΡΠ°ΠΉΠ» ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ (
Component.dll,Driver.ocxΠΈ Ρ.ΠΏ.). - π ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΠ²ΠΎΠΉΡΡΠ² ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π²ΡΠ·ΠΎΠ²Π°. ΠΠ΅Π· Π½Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² "ΠΌΠ΅ΡΠΎΠ΄ ΡΡΠΊΠ°".
- π ΠΠΈΡΠ΅Π½Π·ΠΈΠΎΠ½Π½ΡΠΉ ΠΊΠ»ΡΡ ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ (Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΏΠ»Π°ΡΠ½Π°Ρ). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
license.dat. - π‘οΈ Π¦ΠΈΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ (Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ). ΠΠΊΡΡΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ Π±Π°Π½ΠΊΠΎΠ²ΡΠΊΠΈΡ ΠΈ ΡΠΈΡΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ.
ΠΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΠΈΡΠ΅ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΠΈ: Π΅ΡΠ»ΠΈ Π²Π°ΡΠ° 1Π‘ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² x64-ΡΠ΅ΠΆΠΈΠΌΠ΅, Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΠΎΠ±ΡΠ°Π½Π° Π΄Π»Ρ x86, ΠΎΠ½Π° Π½Π΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡΡ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΡΠΎ Π² ΠΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ΅ Π·Π°Π΄Π°Ρ (ΡΠ°Π·Π΄Π΅Π» "ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ" β ΡΡΠΎΠ»Π±Π΅Ρ "ΠΠ»Π°ΡΡΠΎΡΠΌΠ°").
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ½ΡΠΈΠ²ΠΈΡΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Kaspersky ΠΈΠ»ΠΈ ESET) ΡΠ°ΡΡΠΎ Π±Π»ΠΎΠΊΠΈΡΡΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΊΠ°ΠΊ "ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅". ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΉ Π² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΠ΅ Π·Π°ΡΠΈΡΡ Π½Π° Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π£Π±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΈ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΠΈ 1Π‘ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ|Π‘ΠΊΠ°ΡΠ°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²|ΠΠΎΠ»ΡΡΠΈΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΎΠ½Π½ΡΠΉ ΠΊΠ»ΡΡ (Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ)|ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΉ Π² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ°|ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠΈΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΡΠ°ΠΉΠ»Π° (Π΄Π»Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ)-->
3. Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ (Π΄Π»Ρ COM/ActiveX)
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ .ocx ΠΈΠ»ΠΈ .dll, ΡΡΠ΅Π±ΡΡΡΠ΅ΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π² ΡΠ΅Π΅ΡΡΡΠ΅ Windows, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
- ΠΡΠΊΡΠΎΠΉΡΠ΅
ΠΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° (Π½Π°ΠΆΠΌΠΈΡΠ΅Win + XβΠ’Π΅ΡΠΌΠΈΠ½Π°Π» (ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ)). - ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΡ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
cd C:\ΠΡΡΡ\Π\ΠΠ°ΠΏΠΊΠ΅\Π‘\ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΉ - ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ:
regsvr32 Component.dllΠΠ»Ρ ΠΎΡΠΌΠ΅Π½Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»ΡΡ
/u:regsvr32 /u Component.dll
Π£ΡΠΏΠ΅ΡΠ½Π°Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅: "DllRegisterServer Π² Component.dll Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ". ΠΡΠ»ΠΈ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ° 0x80070005 β ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΡΠ°Π²Π° Π½Π° ΠΏΠ°ΠΏΠΊΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΠ΅ ΠΠΎΠ½ΡΡΠΎΠ»Ρ ΡΡΡΡΠ½ΡΡ
Π·Π°ΠΏΠΈΡΠ΅ΠΉ (UAC).
ΠΠ»Ρ 64-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π² 32-Π±ΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ %systemroot%\SysWoW64\regsvr32.exe.
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ Π΅ΡΠ»ΠΈ regsvr32 Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ "ΠΠ΅ Π½Π°ΠΉΠ΄Π΅Π½ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ"?
ΠΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π΅ΡΠ»ΠΈ:
1. Π€Π°ΠΉΠ» ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄ΡΠ½ ΠΈΠ»ΠΈ Π½Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Windows.
2. ΠΡΡΡΡΡΡΠ²ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Microsoft Visual C++ Redistributable).
3. ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅Π΅ΡΡΡΡ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅: ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ°ΠΉΠ» Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΠΠ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Process Monitor Π΄Π»Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ.
4. ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ΅ 1Π‘
ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΠΌ ΠΊ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² ΡΠ°ΠΌΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ. ΠΠ½ΡΡΡΡΠΊΡΠΈΡ Π°ΠΊΡΡΠ°Π»ΡΠ½Π° Π΄Π»Ρ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ 8.3 (Π²ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΠΈ):
- ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅
1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅(Π½Π΅ ΠΏΡΡΠ°ΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ!). - ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π΄Π΅ΡΠ΅Π²ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²:
ΠΠ±ΡΠΈΠ΅ β ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. - Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ (ΠΊΠ½ΠΎΠΏΠΊΠ°
ΠΠΎΠ±Π°Π²ΠΈΡΡΠΈΠ»ΠΈInsert). - ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°:
- ΠΠΌΡ:
ΠΠΎΠΉΠ‘ΠΊΠ°Π½Π΅ΡΠ¨ΡΡΠΈΡ ΠΊΠΎΠ΄ΠΎΠ²(Π»Π°ΡΠΈΠ½ΠΈΡΠ΅ΠΉ, Π±Π΅Π· ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ²). - Π’ΠΈΠΏ: Π²ΡΠ±Π΅ΡΠΈΡΠ΅
Native(Π΄Π»Ρ.dll) ΠΈΠ»ΠΈCOM(Π΄Π»Ρ.ocx). - ΠΠΌΡ ΡΠ°ΠΉΠ»Π°: ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΡΡ ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
C:\Components\Scanner.dll). ΠΠ»Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅./. - ΠΠ»Π°ΡΡ: ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
BarcodeScanner.Class1).
- ΠΠΌΡ:
- Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ (
F7) ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ Π±Π°Π·Ρ (ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ β ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ). - π ΠΡΡΠ½Π°Π» ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ 1Π‘ (
C:\Users\Public\1C\1Cv8\logs\). - π οΈ Π£ΡΠΈΠ»ΠΈΡΡ Process Monitor (ΡΠΈΠ»ΡΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ).
- π‘ ΠΡΠ»Π°Π΄ΡΠΈΠΊ Visual Studio (Π΄Π»Ρ Native API).
- π ΠΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ ΡΠΈΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ (ΡΠ΅ΡΠ΅Π·
Π‘Π²ΠΎΠΉΡΡΠ²Π° ΡΠ°ΠΉΠ»Π° β Π¦ΠΈΡΡΠΎΠ²ΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ). ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ β ΠΏΠΎΠ²ΠΎΠ΄ Π½Π°ΡΡΠΎΡΠΎΠΆΠΈΡΡΡΡ. - π ΠΠ±Π½ΠΎΠ²Π»ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ 1Π‘. Π£ΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²Π°ΡΡ Ρ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ.
- π‘οΈ ΠΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΠΉΡΠ΅ ΠΏΡΠ°Π²Π°: Π·Π°ΠΏΡΡΠΊΠ°ΠΉΡΠ΅ 1Π‘ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±Π΅Π· ΠΏΡΠ°Π² Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°, Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ.
- π¦ ΠΡΡ ΠΈΠ²ΠΈΡΡΠΉΡΠ΅ ΡΡΠ°ΡΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΊΠ°ΡΠΈΡΡΡΡ ΠΏΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ .
ΠΡΠΈΡΠΈΡΠ½ΡΠΉ Π½ΡΠ°Π½Ρ: Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ 1Π‘, Π΅Ρ ΡΠ°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π² ΡΠΎΠΉ ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΠ΅, ΡΡΠΎ ΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅. ΠΡΡΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ! Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ ΠΠ½Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° (Scanner).
ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΉΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, .\ExtComponents\). ΠΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ 1Π‘.
5. ΠΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² ΠΊΠΎΠ΄Π΅ 1Π‘
ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΌΠΎΠ΄ΡΠ»ΡΡ . ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ:
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ (ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ)
ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² Π΄Π΅ΡΠ΅Π²ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠ° ΠΠ½Π΅ΡΠ½ΡΡΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°:
ΠΠ΅ΡΠ΅ΠΌ ΠΌΠ‘ΠΊΠ°Π½Π΅Ρ;
// Π ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
ΠΌΠ‘ΠΊΠ°Π½Π΅Ρ = ΠΠΎΠ²ΡΠΉ("AddIn.ΠΠΎΠΉΠ‘ΠΊΠ°Π½Π΅ΡΠ¨ΡΡΠΈΡ
ΠΊΠΎΠ΄ΠΎΠ².Class1");
// ΠΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π°
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ = ΠΌΠ‘ΠΊΠ°Π½Π΅Ρ.Π‘ΡΠΈΡΠ°ΡΡΠ¨ΡΡΠΈΡ
ΠΊΠΎΠ΄(1000); // 1000 ΠΌΡ ΡΠ°ΠΉΠΌΠ°ΡΡ
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΠ°Π³ΡΡΠ·ΠΈΡΡΠΠ½Π΅ΡΠ½ΡΡΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ():
ΠΡΡΡΠΠ€Π°ΠΉΠ»Ρ = "C:\Components\Scanner.dll";
ΠΌΠ‘ΠΊΠ°Π½Π΅Ρ = ΠΠ°Π³ΡΡΠ·ΠΈΡΡΠΠ½Π΅ΡΠ½ΡΡΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ(ΠΡΡΡΠΠ€Π°ΠΉΠ»Ρ, "BarcodeScanner.Class1");
ΠΡΠ»ΠΈ ΠΌΠ‘ΠΊΠ°Π½Π΅Ρ = ΠΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π’ΠΎΠ³Π΄Π°
Π‘ΠΎΠΎΠ±ΡΠΈΡΡ("ΠΡΠΈΠ±ΠΊΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ!");
ΠΠΎΠ½Π΅ΡΠΡΠ»ΠΈ;
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄ΠΎΠ±Π΅Π½ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ: Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ.
ΠΡΠ΅Π³Π΄Π° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΠΉΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ! ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΠΎΠΏΡΡΠΊΠ°...ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠ°Π΄Π΅Π½ΠΈΡ 1Π‘ ΠΏΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ
Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅.
6. Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ
ΠΠ°ΠΆΠ΅ ΠΏΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ. Π Π°Π·Π±Π΅ΡΡΠΌ ΡΠ°ΠΌΡΠ΅ ΡΠ°ΡΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ:
| ΠΡΠΈΠ±ΠΊΠ° | ΠΠ΅ΡΠΎΡΡΠ½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° | Π Π΅ΡΠ΅Π½ΠΈΠ΅ |
|---|---|---|
ΠΠ΅ Π½Π°ΠΉΠ΄Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ "MethodName" |
ΠΠΏΠ΅ΡΠ°ΡΠΊΠ° Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠ»ΠΈ Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. | ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈ Π²Π΅ΡΡΠΈΡ .dll. |
ΠΡΠΈΠ±ΠΊΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ |
ΠΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, MSVCR120.dll). | Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Visual C++ Redistributable Π½ΡΠΆΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. |
ΠΠ»Π°ΡΡ Π½Π΅ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ |
ΠΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ regsvr32 Π΄Π»Ρ COM-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. |
ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°. |
ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½ |
ΠΠ½ΡΠΈΠ²ΠΈΡΡΡ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ .dll. |
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΠ°ΠΏΠΊΡ Π² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΠ΅ Π·Π°ΡΠΈΡΡ. |
ΠΠ»Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅:
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ΅, Π½ΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ Ρ .dll Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΠΎΠ΄ ΠΊΠΎΡΠΎΡΡΠΌ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ 1Π‘.
7. ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ
ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ β ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌ Π½Π° 1Π‘. Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ:
ΠΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ Π½Π° PowerShell ΠΈΠ»ΠΈ Batch, ΠΊΠΎΡΠΎΡΡΠ΅:
- ΠΠΎΠΏΠΈΡΡΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ
.dllΠ² ΠΏΠ°ΠΏΠΊΡ. - ΠΠ΅ΡΠ΅ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ (Π΄Π»Ρ COM).
- ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ»ΡΠΆΠ±Ρ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅.
ΠΡΠΈΠΌΠ΅Ρ ΡΠΊΡΠΈΠΏΡΠ° Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ:
@echo off
copy /Y "C:\NewComponents\Scanner.dll" "C:\Components\Scanner.dll"
regsvr32 /s "C:\Components\Scanner.dll"
net stop srv1cv83
net start srv1cv83
8. ΠΡΠΈΠΌΠ΅ΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΈ ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ:
1. Π€ΠΈΡΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΎΡ ΠΡΠΎΠ»
- Π€Π°ΠΉΠ»:
AtolFptr10.dll. - Π’ΠΈΠΏ:
Native API. - ΠΠ»Π°ΡΡ:
AddIn.Fptr10. - ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ: ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΡΡΠ° (COM/USB).
ΠΌΠΡΠΎΠ» = ΠΠΎΠ²ΡΠΉ("AddIn.AtolFptr10.AddIn");
ΠΌΠΡΠΎΠ».ΠΡΠΊΡΡΡΡ(1, "COM3:9600"); // ΠΠΎΡΡ ΠΈ ΡΠΊΠΎΡΠΎΡΡΡ
2. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° OneScript Π΄Π»Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ²
- Π€Π°ΠΉΠ»:
OneScript.dll. - Π’ΠΈΠΏ:
COM(ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ). - ΠΠ»Π°ΡΡ:
ScriptEngine. - ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ: ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ·ΡΠΊΠΈ JavaScript ΠΈ VBScript.
ΠΌΠ‘ΠΊΡΠΈΠΏΡ = ΠΠΎΠ²ΡΠΉ("ScriptControl");
ΠΌΠ‘ΠΊΡΠΈΠΏΡ.Language = "VBScript";
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ = ΠΌΠ‘ΠΊΡΠΈΠΏΡ.Eval("1 + 1");
ΠΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΄Π΅ΠΌΠΎ-ΡΠ΅ΠΆΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΡΠΎΠ» ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΌΡΠ»ΡΡΠΎΡ ΡΠΈΡΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
ΠΠ°ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±Π΅Π· ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ?
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΡΠΎΠ», Π¨ΡΡΠΈΡ
-Π) ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ. ΠΠ½ΠΈ ΡΠΌΡΠ»ΠΈΡΡΡΡ ΡΠ°Π±ΠΎΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΡΠ»Π°Π΄ΠΈΡΡ ΠΊΠΎΠ΄ Π±Π΅Π· ΠΏΠΎΠΊΡΠΏΠΊΠΈ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ ΡΠ°ΠΉΠ»Ρ Ρ ΠΏΠΎΠΌΠ΅ΡΠΊΠΎΠΉ Virtual ΠΈΠ»ΠΈ Emulator.
FAQ: Π§Π°ΡΡΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ?
ΠΠ°, Π½ΠΎ Ρ ΠΎΠ³ΠΎΠ²ΠΎΡΠΊΠ°ΠΌΠΈ. Π ΡΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. Π ΡΠΎΠ»ΡΡΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π² ΡΠ΅Π°Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅ΡΠ΅Π· ΠΠ°Π³ΡΡΠ·ΠΈΡΡΠΠ½Π΅ΡΠ½ΡΡΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ(), ΡΠΊΠ°Π·Π°Π² ΠΏΡΡΡ Π² Π΅Π³ΠΎ ΠΏΡΠΎΡΠΈΠ»Π΅.
ΠΠΎΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ΅, Π½ΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅?
ΠΡΠΈΡΠΈΠ½Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ:
- ΠΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ°: ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ΅Π°Π½Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Ρ ΠΌΠ΅Π½ΡΡΠΈΠΌΠΈ ΠΏΡΠ°Π²Π°ΠΌΠΈ.
- Π Π°Π·Π½ΡΠ΅ ΠΏΡΡΠΈ ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅: Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ (
./ext/...), Π° Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ β Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ. - ΠΠΎΠ½ΡΠ»ΠΈΠΊΡ Π²Π΅ΡΡΠΈΠΉ: Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°ΡΡΡΡ ΡΡΠ°ΡΠ°Ρ Π²Π΅ΡΡΠΈΡ
.dllΠΈΠ· ΠΊΡΡΠ°.
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΆΡΡΠ½Π°Π» 1Π‘ (C:\Users\Public\1C\1Cv8\logs\) Π½Π° ΠΎΡΠΈΠ±ΠΊΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ (ΠΌΠ°ΡΡΠΈΠ²Ρ, ΡΡΡΡΠΊΡΡΡΡ) Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ?
ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² 1Π‘ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ :
- ΠΡΠΎΡΡΡΠ΅ ΡΠΈΠΏΡ:
Π§ΠΈΡΠ»ΠΎ,Π‘ΡΡΠΎΠΊΠ°,ΠΠ°ΡΠ°. ΠΠ°ΡΡΠΈΠ²(ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² SAFEARRAY).Π‘ΡΡΡΠΊΡΡΡΠ°(ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ).
ΠΡΠΈΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΡΡΡΠΊΡΡΡΡ:
ΠΠ°Π½Π½ΡΠ΅ = ΠΠΎΠ²ΡΠΉ Π‘ΡΡΡΠΊΡΡΡΠ°("ΠΠΌΡ, ΠΠΎΠ·ΡΠ°ΡΡ", "ΠΠ²Π°Π½", 30);
ΠΌΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°.ΠΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡΠΠ°Π½Π½ΡΠ΅(ΠΠ°Π½Π½ΡΠ΅);
ΠΠ½ΡΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΊΠ°ΠΊ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ².
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 1Π‘?
ΠΠ΅Ρ, ΠΌΠΎΠ±ΠΈΠ»ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° 1Π‘ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ. ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ HTTP-ΡΠ΅ΡΠ²ΠΈΡΡ (REST API).
- Π Π΅Π°Π»ΠΈΠ·ΡΠΉΡΠ΅ Π»ΠΎΠ³ΠΈΠΊΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ 1Π‘ ΠΈ Π²ΡΠ·ΡΠ²Π°ΠΉΡΠ΅ Π΅Ρ ΡΠ΅ΡΠ΅Π·
ΠΡΡΠΌΠΎΠ΅ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. - ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (ΡΠΊΠ°Π½Π΅ΡΡ, ΠΏΡΠΈΠ½ΡΠ΅ΡΡ) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ SDK Android/iOS ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΠΉΡΠ΅ΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π· ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΡ.
ΠΠ°ΠΊ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π°?
Π‘ΠΏΠΎΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π΅ΡΡΠΈΠΈ:
- Π§Π΅ΡΠ΅Π· ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ°ΠΉΠ»Π°: ΠΊΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Π½Π°
.dllβΠ‘Π²ΠΎΠΉΡΡΠ²Π° β ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ. - Π§Π΅ΡΠ΅Π· ΠΊΠΎΠ΄ 1Π‘ (Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄
ΠΠ΅ΡΡΠΈΡ()):Π‘ΠΎΠΎΠ±ΡΠΈΡΡ(ΠΌΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°.ΠΠ΅ΡΡΠΈΡ()); - Π§Π΅ΡΠ΅Π· PowerShell:
[System.Diagnostics.FileVersionInfo]::GetVersionInfo("C:\path\to\component.dll").FileVersion