procedure TForm1.Button1Click(Sender: TObject);
var
A1, A2: Integer;
begin
X := 2;
A1 := X;
Inc(A1, GetValueAndModifyX);
X := 2;
A2 := GetValueAndModifyX;
Inc(A2, X);
Label1.Caption := IntToStr(A1);
Label2.Caption := IntToStr(A2);
end;
Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΏΠΎΠ±ΠΎΡΠ½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ GetValueAndModifyX, Π΄Π°ΡΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ Π»ΡΠ±ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ², Ρ.ΠΊ. Π·Π΄Π΅ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ² ΡΠ°Π·Π½Π΅ΡΠ΅Π½ΠΎ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌ, Π° ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΠ΅ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ΠΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΠΎΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ΠΎΠ². Π’Π°ΠΊ, FreePascal Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΈΡ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½ΠΈ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ, Ρ.Π΅. Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π1 ΠΏΠΎΠ»ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 4, Π2 β 3.
3.4.2. ΠΠ°ΡΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° TUpDown.OnClick ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅
ΠΠ»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ "ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ°ΠΌΠ½Ρ" Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, Π½Π° ΡΠΎΡΠΌΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TUpDown ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΡΠΎΠ±ΡΡΠΈΡ OnClick (Π»ΠΈΡΡΠΈΠ½Π³ 3.51, ΠΏΡΠΈΠΌΠ΅Ρ UpDownDlg Π½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠ΅).
ΠΠΈΡΡΠΈΠ½Π³ 3.51. ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ OnClick ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° UpDown1procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
Application.MessageBox('Text', 'Caption', MB_OK);
end;
Π’Π΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π½Π°ΠΆΠ°ΡΡ Π½Π° Π²Π΅ΡΡ Π½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ UpDown1, ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ (ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° Π½ΠΈΠΆΠ½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΎΠΊΠ½ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΊΡΡΠ²Π°ΡΡΡΡ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TUpDown ΡΠ²ΠΎΠΉΡΡΠ²Π° Position ΠΈ Min ΡΠ°Π²Π½Ρ Π½ΡΠ»Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅ Π½Π° Π½ΠΈΠΆΠ½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Position, ΠΈ ΡΠΎΠ±ΡΡΠΈΠ΅ OnClick Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ; Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Min ΠΈΠ»ΠΈ Position, ΡΠΎ ΡΠΎΡ ΠΆΠ΅ ΡΡΡΠ΅ΠΊΡ Π±ΡΠ΄Π΅Ρ Π½Π°Π±Π»ΡΠ΄Π°ΡΡΡΡ ΠΈ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° Π½ΠΈΠΆΠ½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ). ΠΡΠ»ΠΈ Π·Π°ΠΊΡΡΡΡ ΡΡΠΎ ΠΎΠΊΠ½ΠΎ, ΡΠΎ ΡΠ΅Π»ΡΠΎΠΊ ΠΌΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΡΠΎΡΠΌΡ ΡΠ½ΠΎΠ²Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΡ OnClick ΠΈ ΠΎΡΠΊΡΡΡΠΈΡ ΠΎΠΊΠ½Π°, ΠΈ ΡΠ°ΠΊ Π΄ΠΎ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΠΈ: Π»ΡΠ±ΠΎΠΉ ΡΠ΅Π»ΡΠΎΠΊ ΠΏΠΎ ΡΠΎΡΠΌΠ΅ Π² Π»ΡΠ±ΠΎΠΌ Π΅Π΅ ΠΌΠ΅ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΡΡΠ΅ΠΊΡ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ ΠΈ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π»ΡΠ±Π°Ρ Π΄ΡΡΠ³Π°Ρ ΠΌΠΎΠ΄Π°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΌΠ°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠΎΡ ΠΆΠ΅ ΡΡΡΠ΅ΠΊΡ Π±ΡΠ΄Π΅Ρ, ΠΈ Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ OnChanging ΠΈΠ»ΠΈ OnChangingEx Π²ΠΌΠ΅ΡΡΠΎ OnClick, Π½ΠΎ ΠΌΡ Π΄Π°Π»Π΅Π΅ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡΠΈ Π±ΡΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ± OnClick.
ΠΡΠ»ΠΈ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΏΡΠΎΠΉΡΠΈ ΠΏΠΎ ΡΠ°Π³Π°ΠΌ Π² ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ΅, ΡΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΡ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ: OnClick Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π»ΡΠ±ΠΎΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡΡΠΈ Π½Π° ΡΠΎΡΠΌΠ΅ Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ Π½ΠΈ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ Π½Π΅ΠΎΠ±ΡΡΠ½ΡΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ.
ΠΡΠΈΡΠΈΠ½Π° ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΡΠΎΠΌ, ΠΊΠ°ΠΊ VCL ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ. ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° TUpDown Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π΄Π²Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ: WM_LBUTTONDOWN ΠΈ WM_NOTIFY. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TUpDown ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠΈΠ»Ρ csCaptureMouse β ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ WM_LBUTTONDOWN VCL Π·Π°Ρ Π²Π°ΡΡΠ²Π°Π΅Ρ ΠΌΡΡΡ Π² ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ΠΠΎΠ½ΠΎΠΏΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΡΡΠΈ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π»ΡΠ±ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΌΡΡΡΡ, Π±ΡΠ΄ΡΡ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ Π·Π°Ρ Π²Π°ΡΠΈΠ²ΡΠ΅ΠΌΡ ΠΌΡΡΡ ΠΎΠΊΠ½Ρ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π΅Π΅ ΠΊΡΡΡΠΎΡ Π² ΡΡΠΎ Π²ΡΠ΅ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. ΠΡΠΈΠΌΠ΅ΡΠΎΠΌ Π·Π°Ρ Π²Π°ΡΠ° ΠΌΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΠΆΠΈΡΡ Π»ΡΠ±Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°: ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΌΡΡΡΡ Π½Π°Π΄ Π»ΡΠ±ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΈ, Π½Π΅ ΠΎΡΠΏΡΡΠΊΠ°Ρ ΠΊΠ»Π°Π²ΠΈΡΠΈ ΠΌΡΡΠΈ, Π½Π°ΡΠ½ΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΠΊΡΡΡΠΎΡ. ΠΠΎΠ³Π΄Π° ΠΊΡΡΡΠΎΡ Π±ΡΠ΄Π΅Ρ Π²ΡΡ ΠΎΠ΄ΠΈΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠΆΠΈΠΌΠ°ΡΡΡΡ, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ Π½Π° Π½Π΅Π΅ β ΡΠ½ΠΎΠ²Π° Π½Π°ΠΆΠΈΠΌΠ°ΡΡΡΡ. Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΡΡΡΠΎΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΎΡΠΏΡΡΡΠΈΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ ΠΌΡΡΠΈ ΠΈ ΡΠ½ΠΎΠ²Π° ΠΏΠΎΠ΄Π²Π΅Π΄ΠΈΡΠ΅ Π΅Π³ΠΎ ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ΅. ΠΠ½ΠΎΠΏΠΊΠ° Π½Π΅ Π½Π°ΠΆΠΌΠ΅ΡΡΡ. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΠΎΠΊΠ° ΠΊΠ»Π°Π²ΠΈΡΠ° ΠΌΡΡΠΈ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π½Π°ΠΆΠ°ΡΠΎΠΉ, ΠΌΡΡΡ Π·Π°Ρ Π²Π°ΡΠ΅Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ, ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΏΡΡΠΊΠ°Π½ΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ ΠΌΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ΅, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, Π½Π°Π΄ ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠΊΠ½ΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΊΡΡΡΠΎΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΠΎΡΠΏΡΡΠΊΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΌΡΡΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Π·Π° Π΅Π΅ ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ.
ΠΠ°ΡΠ΅ΠΌ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ WM_NOTIFY, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠ°Π» Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° TUpDown. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ VCL Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ TUpDown.OnClick, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ. ΠΡΡ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΌΡΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΠΏΡΡΠΊΠ°Π΅Ρ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΡΠΆΠ΅ ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ WM_LBUTTONUP Π»ΠΈΠ±ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΎΡΠΊΡΡΠ²ΡΠ΅Π³ΠΎΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, Π΅ΡΠ»ΠΈ ΠΌΡΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»Π°ΡΡ Π½Π°Π΄ Π½ΠΈΠΌ, Π»ΠΈΠ±ΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΠΈΠΊΡΠ΄Π° Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡΡΡ Π±ΡΠ»Π° Π²Π½Π΅ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. ΠΠ° Π²ΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ° "Π·Π°Π±ΡΠ²Π°Π΅Ρ" ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡΡΡ Π·Π°Ρ Π²Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ "Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ" ΠΎΠ± ΡΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΡΡ. ΠΠΎΠ½ΠΎΠΏΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ TUpDown Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ WM_LBUTTONUP, Π½ΠΎ ΠΎΠ½ΠΎ, ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ ΡΠ°Π½Π΅Π΅, Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΊΡΡΡΠΈΡ ΠΎΠΊΠ½Π° ΠΌΡΡΡ ΠΎΡΡΠ°Π΅ΡΡΡ Π·Π°Ρ Π²Π°ΡΠ΅Π½Π½ΠΎΠΉ Π΄Π°Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ. ΠΠΎΡΡΠΎΠΌΡ Π»ΡΠ±ΠΎΠ΅ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡΡΠΈ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΡΡΡΠ΅Π΅ΡΡ ΠΊ UpDown1, ΠΈ ΡΠ½ΠΎΠ²Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ WM_LBUTTONDOWN ΠΈ WM_NOTIFY, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. Π’Π°ΠΊ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΠΎΡΠ½ΡΠΉ ΠΊΡΡΠ³, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅Ρ Π²ΡΡ ΠΎΠ΄Π°. ΠΡΠΎΡ ΠΊΡΡΠ³ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·ΠΎΡΠ²Π°Π½, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΡΠΎΠ±Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
Π ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ Π²ΠΈΠ½ΠΎΠ²Π°ΡΠ° VCL, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΡΠ΅ΠΌ-ΡΠΎ Π½Π°Π·Π½Π°ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ TUpDown ΡΡΠΈΠ»Ρ csCaptureMouse. ΠΠ°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π½Π΅ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ VCL, β ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° UPDOWN_CLASS, Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ TUpDown β ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Π΄Π»Ρ Π½Π΅Π³ΠΎ. ΠΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡ ΠΌΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ°ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. VCL Π½Π΅Ρ Π½ΡΠΆΠ΄Ρ Π² ΡΡΠΎ Π²ΠΌΠ΅ΡΠΈΠ²Π°ΡΡΡΡ. Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π½ΡΠΆΠ½ΠΎ ΡΠ±ΡΠ°ΡΡ csCaptureMouse ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΡΠΈΠ»Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ ΡΠ°ΠΊ:
UpDown1.ControlStyle := UpDown1.ControlStyle - [csCaptureMouse];
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΡ OnCreate ΡΠΎΡΠΌΡ), ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΡΡΠ΅Π·Π½ΡΡ (Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ UpDownDlg ΡΡΠ° ΡΡΡΠΎΠΊΠ° Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π°).
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π² Windows ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ β WM_CANCELMODE, β ΠΏΠΎΡΡΠ»Π°Π΅ΠΌΠΎΠ΅ ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΡΠΎΠΌΡ ΠΎΠΊΠ½Ρ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°Ρ Π²Π°ΡΠΈΠ»ΠΎ ΠΌΡΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ Π΅Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠ»ΠΎ. ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ β Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² UpDown1 ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΡΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ (Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ° TUpDown ΠΈΠ»ΠΈ ΠΆΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ WindowProc β ΡΠΌ. ΡΠ°Π·Π΄. 1.1.8), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΌΠ΅Π½ΠΈΡ Π·Π°Ρ Π²Π°Ρ ΠΌΡΡΠΈ. ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° β ΡΠΎΠΆΠ΅ ΡΠ²Π½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° VCL.
3.4.3. Access violation ΠΏΡΠΈ Π·Π°ΠΊΡΡΡΠΈΠΈ ΡΠΎΡΠΌΡ Ρ ΠΏΠ΅ΡΠ΅ΠΊΡΡΡΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ WndProc
Π§ΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΠΎΡ "ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ°ΠΌΠ΅Π½Ρ", ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π΄Π²Π΅ ΡΠΎΡΠΌΡ: Π³Π»Π°Π²Π½ΡΡ Form1 ΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ Form2. Π Form1 Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Form2.
ΠΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠΎΡΠΌΠ΅ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΡ OnClose ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π» ΠΏΠΎ Π·Π°ΠΊΡΡΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ caFree. ΠΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠΎΠ»Π΅ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΏΠ΅ΡΠ΅ΠΊΡΠΎΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ WndProc ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ (Π»ΠΈΡΡΠΈΠ½Π³ 3.52, ΠΏΡΠΈΠΌΠ΅Ρ CloseAV Π½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡ- Π΄ΠΈΡΠΊΠ΅).
ΠΠΈΡΡΠΈΠ½Π³ 3.52. ΠΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ° TForm2type
TForm2 = class(TForm)
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
S: string;
protected
procedure WndProc(var Message: TMessage); override;
public
constructor Create(AOwner: TComponent); override;
end;
....
constructor TForm2.Create(AOwner: TComponent);
begin
S := 'abc';
inherited;
end;
procedure TForm2.WndProc(var Message: TMessage);
begin
inherited;
S[2] := 'x'; { * }
end;
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ S, ΠΈ Π»ΠΈΡΡ ΠΏΠΎΡΠΎΠΌ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ. ΠΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ S ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ, Ρ.Π΅. nil, Π° ΡΠΆΠ΅ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΎΠΊΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½ ΠΌΠ΅ΡΠΎΠ΄ WndProc. ΠΡΠ»ΠΈ Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ S Π±ΡΠ΄Π΅Ρ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ nil, ΠΏΠΎΠΏΡΡΠΊΠ° ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊΠΎ Π²ΡΠΎΡΠΎΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΡΡΠΎΠΊΠΈ Π²ΡΠ·ΠΎΠ²Π΅Ρ Access violation. ΠΠΎΡΡΠΎΠΌΡ Π΅ΡΠ΅ Π΄ΠΎ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΏΠΎΠ»Π΅ S Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ°ΠΏΡΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΠΎΠΏΡΡΠ°Π΅ΠΌΡΡ Π·Π°ΠΊΡΡΡΡ Π²ΡΠΎΡΠΎΠ΅ ΠΎΠΊΠ½ΠΎ. ΠΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Access Violation: Write of address 00000001. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡΠ΄Π΅Ρ Π² ΡΡΡΠΎΠΊΠ΅, ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ {*}. ΠΡΠΈ ΡΡΠΎΠΌ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ ΠΎΠΊΠ½ΠΎΠΌ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π²ΡΠ·ΡΠ²Π°ΡΡ Π½Π΅ Π±ΡΠ΄ΡΡ.