Ik was bezig met een functie om een berg aan edit's en memo's in 1 keertje readonly te maken of niet.
Het volgende heb ik toen gecreëerd:
en bij compilen krijg ik dan de volgende error msg:
[Error] uFrmTest.pas(102): Undeclared identifier: 'readonly'
dus ik kijk in de source van StdCtrls.pas
en kom dit tegen:
nu is dus duidelijk dat het een protected property is.. die dus bijvoorbeeld bij de edits als published property staat..
terwijl in de help van delphi wel readonly voor tcustomedits word vermeld.
is er een manier om deze toch aan te roepen?
of moet ik een paar ifjes maken voor de memo's, edit's etc te onderschijden?
Het volgende heb ik toen gecreëerd:
Delphi:
1
2
3
4
5
6
7
8
| procedure PrepareCustomEditsForEditing(AWinControl: TWinControl); var i: Integer; begin for i := 0 to AWinControl.ControlCount - 1 do if (AWinControl.Controls[i] is TCustomEdit) then TCustomEdit(AWinControl.Controls[i]).ReadOnly := FALSE; end; |
en bij compilen krijg ik dan de volgende error msg:
[Error] uFrmTest.pas(102): Undeclared identifier: 'readonly'
dus ik kijk in de source van StdCtrls.pas
en kom dit tegen:
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| TCustomEdit = class(TWinControl) private ... FReadOnly: Boolean; ... procedure SetReadOnly(Value: Boolean); ... protected ... property ReadOnly: Boolean read FReadOnly write SetReadOnly default False; public ... published ... end; |
nu is dus duidelijk dat het een protected property is.. die dus bijvoorbeeld bij de edits als published property staat..
terwijl in de help van delphi wel readonly voor tcustomedits word vermeld.
is er een manier om deze toch aan te roepen?
of moet ik een paar ifjes maken voor de memo's, edit's etc te onderschijden?