NL Computer Forum
Maak het zelf => Programmeren => Topic gestart door: Peter op 21 juli 2010, 12:01:02
-
Hallo,
Wat is er fout aan deze regel:
StringGrid1.ColCount := high(params)+2;
Soms verschijnt er de foutmelding:
Access violation at address 00401D19 in module 'A.EXE'. Read of address FFFFFFFF
Als ik kijk wat de waardes zijn voordat de regel wordt uitgevoerd:
high(params) = 13
StringGrid1.ColCount = 16
Als het programma dan afgesloten wordt volgt de foutmelding:
Exception EInvalidPointer in module 'A.EXE' at 0006CE63
Invalid pointer operation.
De ontwikkelomgeving is Delphi 4
Iemand enig idee ?
Peter
-
Hoi Peter,
Het kan volgens mij niet anders liggen dan aan high(params)+2. Wat is je bedoeling van high(params)?
Breakpoint zetten al geprobeerd en dan kijken of je iets kan ontdekken met Evaluate/Modify en/of Add watch? De unit System staat ook in het USES-gedeelte van je code?
Kun je anders eens de volledige event in een bericht zetten en laten zien hoe je params gedefinieerd hebt?
-
Hoi Stefan,
Het kan volgens mij niet anders liggen dan aan high(params)+2. Wat is je bedoeling van high(params)?
params is een array en high(params) geeft dan het aantal elementen aan in deze array.
In Evaluate/Modify heb ik al wat geprobeerd en StringGrid1.ColCount laat zich daar ook niet wijzigen.
De unit System staat ook in het USES-gedeelte van je code?
Nee, wel SysUtils.
params:array of Tparam;
de array wordt ingesteld middels setlength(params, grootte)
Peter