ΠΡΠ΅ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΄Π°Π»ΡΡΡΡΡ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ, ΡΡΠΎΠ±Ρ Π½Π΅ Π±ΡΠ»ΠΎ ΡΡΠ΅ΡΠ΅ΠΊ. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΠΊΠΎΠ΄, ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡΠΈΠΉ ΡΡΡ ΠΏΠ°ΠΌΡΡΡ, Π² ΡΠΏΠΈΠ»ΠΎΠ³ ΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΡΡΠ΅ΡΠΈΠ»ΠΎΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β Π² ΡΠΏΠΈΠ»ΠΎΠ³ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ DoGetClassInfo.
ΠΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠ²ΡΡΡΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ ΡΡΠ°Π·Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ, ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±ΡΡΡΡΠ΅Π΅ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΏΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ DoGetClassInfo ΠΏΠ°ΠΌΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΡΠ°Π½ΠΈΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° (ΠΈ Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ CI.lpszClassName), ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΡ, Π½ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ Π΅Π΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΡΠΈΡΠ°Π΅Ρ ΡΠ΅Π±Ρ Π²ΠΏΡΠ°Π²Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ.
ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ S, Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΡΡ ΡΠ°ΠΌΡΡ ΠΎΠ±Π»Π°ΡΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π½Π΅Π΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΎΡΡ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ°. Π’Π°ΠΊ ΠΊΠ°ΠΊ CI.lpszClassName ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠΎΡ Π°Π΄ΡΠ΅Ρ, ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΡΠΎΠΌΡ ΠΏΠΎΠ»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ S.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅Π Delphi Π΄ΠΎ 7-ΠΉ Π²Π΅ΡΡΠΈΠΈ Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΡΡΠ΅ΠΊΡ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ ΠΏΡΠΈ Π»ΡΠ±ΠΎΠΉ Π΄Π»ΠΈΠ½Π΅ ΡΡΡΠΎΠΊΠΈ, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ S, Π² Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡΡ Delphi β ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π΄Π»ΠΈΠ½Π° ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΡ 5 Π΄ΠΎ 11 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΠΎΡΠ²ΠΈΠ²ΡΠΈΠΉΡΡ Π² ΡΡΠΈΡ Π²Π΅ΡΡΠΈΡΡ Delphi, Ρ ΡΠ΅Π»ΡΡ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅Ρ ΠΊΡΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ Π±Π»ΠΎΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΠΈΠ΅ΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π±Π»ΠΎΠΊΠΎΠ². ΠΡΠ»ΠΈ ΡΡΡΠΎΠΊΠ°, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ S, ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΡ 'TForm1' Π΄Π»Ρ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΠΌΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΈ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ.
ΠΡΠ»ΠΈ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π΅ Π²ΡΠ½ΠΎΡΠΈΡΡ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ GetClassInfo Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ DoGetClassInfo, Π° Π²ΡΠ·ΡΠ²Π°ΡΡ Π΅Π΅ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ· Button1Click, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, Π·Π°Π½ΡΡΠΎΠΉ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ°, Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠΏΠΈΠ»ΠΎΠ³Π΅ Button1Click, ΠΈ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ S ΡΡΠ° ΠΏΠ°ΠΌΡΡΡ Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΠ°ΡΡΡΡ Π·Π°Π½ΡΡΠΎΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ S ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΠ΄Π΅Π»ΠΈΡ Π΄ΡΡΠ³ΡΡ ΠΎΠ±Π»Π°ΡΡΡ.
ΠΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ ΠΈ ΡΠΎ, ΡΡΠΎ Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°ΡΡ (Π² ΡΡΠ½ΠΊΡΠΈΠΈ GetClassInfo ΠΈ ΠΏΡΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ S) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π΅ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ, Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠ°ΠΏΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π‘ΡΡΠΎΠΊΠΎΠ²ΡΠ΅ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Π² ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π°, ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π² GetClassInfo ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ S, Π±ΡΠ΄ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠ°ΠΌΡΡΡ, Π° Π½Π° ΡΡΠΈ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ, ΠΈ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ.
ΠΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ lpszClassName Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π° GetClassName. ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΈΠΌΡ ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄ΠΎ Π²ΡΠ·ΠΎΠ²Π° GetClassName. ΠΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡ ΡΡΡΠΎΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΡΠ°Π½ΠΈΡΡΡ ΡΡΠΎ ΠΈΠΌΡ, ΡΠ΅ΠΌ ΠΏΠΎΠ»Π΅ lpszClassName.
3.4.5. ΠΡΠΈΠ±ΠΊΠ° EReadError ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²
ΠΡΠ»ΠΈ Π² ΡΠ΅ΠΊΡΠΈΠΈ published ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈΠΌΠ΅ΡΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° (Single, Double ΠΈΠ»ΠΈ Extended), ΡΠΎ ΠΏΠΎΠΏΡΡΠΊΠ° ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΠΌΡ ΡΡΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΏΠΎΠ»Π½Π΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ EReadError ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠΎΡΠΌΡ (Ρ.Π΅. ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠΎΡΠΌΡ). ΠΠ»Ρ ΡΠΈΠΏΠΎΠ² Double ΠΈ Extended ΠΎΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° X Π»Π΅ΠΆΠΈΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ²:
-1e15 < Ρ <= MinInt - 1
ΠΈΠ»ΠΈ
MaxInt + 1 <= X < 1e15
ΠΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΏΡΠΈ ΡΠ΅ΠΌ Π·Π΄Π΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MaxInt ΠΈ MinInt, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΈΡΠ»Π°Ρ , Π½ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. Π’ΠΈΠΏΡ Single Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ ΡΠΎΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ MaxInt ΠΈ MinInt Π±Π΅Π· ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΠΉ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΎΠΉ Π½Π° ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠ½ΠΎΡΡΠΈ Π³ΡΠ°Π½ΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ², ΡΡΠ° ΠΆΠ΅ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈ Π΄Π»Ρ ΡΠ²ΠΎΠΉΡΡΠ² ΡΠΈΠΏΠ° Single. ΠΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΌΡ dfm-ΡΠ°ΠΉΠ»Π° (Π²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Delphi, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΏΡΡΠΎΠΉ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΡ ΡΠΎΡΠΌΡ). ΠΡΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅ dfm-ΡΠ°ΠΉΠ»Π° ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ.
ΠΡΠΈΠ±ΠΊΠ° ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π° Π² Delphi 5 ΠΈ 6, ΠΏΡΠΈΡΠ΅ΠΌ Π² Delphi 5 ΠΏΠΎΠΏΡΡΠΊΠ° Π²Π²Π΅ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ ΡΠΎΡΠΌΠΎΠΉ. Π Delphi 6 Π±ΡΠ»ΠΈ Π·Π°ΠΌΠ΅ΡΠ΅Π½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ½ΠΈ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ. Π Delphi 7 ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΆΠ΅ ΡΠ΅ΡΠ΅Π½Π°, ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ. Π Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ Delphi ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² Π½ΠΈΡ dfm-ΡΠ°ΠΉΠ» Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅.
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π°.
1. ΠΠ±Π½ΠΎΠ²ΠΈΡΡ Delphi Π΄ΠΎ ΡΠ΅Π΄ΡΠΌΠΎΠΉ (ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ) Π²Π΅ΡΡΠΈΠΈ.
2. ΠΡΠ±ΡΠ°ΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΡΠΎΡΠΌΡ dfm-ΡΠ°ΠΉΠ»Π°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΡΠ»ΠΊΠ½ΡΡΡ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° ΡΠΎΡΠΌΠ΅ ΠΈ Π² ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ ΠΌΠ΅Π½Ρ ΡΠ±ΡΠ°ΡΡ Π³Π°Π»ΠΎΡΠΊΠΈ Ρ ΠΏΡΠ½ΠΊΡΠ° Text DFM.
ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
3.4.6. ΠΡΠΈΠ±ΠΊΠ° List index out of bounds ΠΏΡΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°
Windows ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ ΡΠΏΠΈΡΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ListBoΡ ΠΈ ComboBox ΡΠ²ΡΠ·Π°ΡΡ Π»ΠΈΠ±ΠΎ ΡΠΈΡΠ»ΠΎ, Π»ΠΈΠ±ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ (ΡΠΎΡΠ½Π΅Π΅ β Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅ΡΡΡΠ΅Ρ Π±Π°ΠΉΡΠ½ΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΠΊΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΠΈΡΠ»ΠΎ, ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ Π΅ΡΠ΅). Π VCL ΡΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ ΠΊ ΡΡΡΠΎΠΊΠ°ΠΌ ΡΠΏΠΈΡΠΊΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (ΡΠ΅ΡΡΡΡΡ Π±Π°ΠΉΡΠ½Π°Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠ°ΠΊΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ TObject). ΠΠΎΡΡΡΠΏ ΠΊ ΡΡΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ²ΠΎΠΉΡΡΠ²Π° TComboBox.Items.Objects[Index] ΠΈ TListBox.Items.Objects[Index].
ΠΠ½ΠΎΠ³Π΄Π° Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡ ΠΊ ΡΡΡΠΎΠΊΠ°ΠΌ Π½Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π° ΡΠΈΡΠ»Π°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ²Π½ΡΠΌ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ComboBox1.Items.Objects[I] := TObject(17);
I := Integer(ComboBox1.Items.Objects[I]);
ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ²ΡΠ·Π°ΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠΎΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ -1, ΡΠΎ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ Π²ΠΎ Π²ΡΠ΅Ρ Π²Π΅ΡΡΠΈΡΡ Delphi Π΄ΠΎ 7-ΠΉ Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ EStringListError Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ "List index out of bounds". Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ (Π»ΠΈΡΡΠΈΠ½Π³ 3.56. ΠΏΡΠΈΠΌΠ΅Ρ ListIndex Π½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠ΅).
ΠΠΈΡΡΠΈΠ½Π³ 3.56. ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ EStringListErrorprocedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
ComboBox1.Items.Clear;
ComboBox1.Items.AddObject('Text', TObject(-1));
I := Integer(ComboBox1.Items.Objects[0]); { * }
Label1.Caption := IntToStr(I);
end;
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΡΠΎΠΊΡ, ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½ΡΡ Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠΎΠΉ, Ρ ΠΎΡΡ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ΅Π½. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊ ΡΡΡΠΎΠΊΠ΅, Π½Π° ΡΡΠΎΠ²Π½Π΅ Windows API. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ TComboBox. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΠ»Π°ΡΡ ΠΎΠΊΠ½Ρ ComboBox ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ CB_GETITEMDATA. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ΅ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ, ΠΈΠ»ΠΈ CB_ERR, Π΅ΡΠ»ΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ°. ΠΡΠΈ ΡΡΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π΅ ΡΡΠΎΡΠ½ΡΠ΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΈ ΠΊΠ°ΠΊ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠ°Ρ ΠΈΠ· Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π°.
ΠΠ΅ΡΠΎΠ΄ TComboBoxStrings.GetObject, ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΈΡΠ°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Objects, Π² Delphi 7 ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ CB_ERR ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ: Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ EStringListError Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ "List index out of bounds".
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° CB_ERR ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ -1. ΠΠΎΡΡΠΎΠΌΡ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΈ Π² ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΡΡΡΠΎΠΊΠ΅ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ -1, ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ CB_GETITEMDATA Π²Π΅ΡΠ½Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. Π ΠΌΠ΅ΡΠΎΠ΄ TComboBoxStrings.GetObject ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅Ρ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΎΡΠΈΠ±ΠΊΡ. (Π ΡΡΠΎ Π΅ΠΌΡ Π΅ΡΠ΅ ΠΎΡΡΠ°Π΅ΡΡΡ Π΄Π΅Π»Π°ΡΡ?)
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠΎ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈ Π΄Π»Ρ ListBox (Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ ΠΏΠΎ ΡΠΌΡΡΠ»Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° LB_ERR ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ -1). ΠΡΠΎ ΠΏΡΡΠΌΠΎΠ΅ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ Windows ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ°Π±ΠΎΡΡ VCL Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ Π²Π΅ΡΡΠΈΡΡ Windows. Π’Π° ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 4 294 967 295, Ρ.ΠΊ. Π½Π° Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΡΡΠΎ ΡΠΈΡΠ»ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ Π±ΠΈΡΠΎΠ², ΡΡΠΎ ΠΈ -1.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° Objects ΠΏΠΎ ΠΏΡΡΠΌΠΎΠΌΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Ρ.Π΅. Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ $FFFFFFFF β ΡΡΠΎ Π°Π΄ΡΠ΅Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠ΅Π³ΠΎ Π±Π°ΠΉΡΠ° Π² ΡΠ΅ΡΡΡΠ΅Ρ Π³ΠΈΠ³Π°Π±Π°ΠΉΡΠ½ΠΎΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠ° ΠΎΠ±Π»Π°ΡΡΡ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ Delphi Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΡΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
1. ΠΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠ΅ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΈ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ -1 ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ.
2. ΠΠ°ΠΏΡΡΠΌΡΡ ΠΏΠΎΡΡΠ»Π°ΡΡ CB_GETITEMDATA ΠΎΠΊΠ½Ρ ComboBox, Π° ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ. ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3.57 ΠΊΠΎΠ΄ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΎΠ²Π΅Ρ.