Ik heb een probleem met het gebruik van dynamische array's in een class.
Compilen gaat perfect maar bij het afsluiten van het programma krijg ik een foutmelding. Ik hoop dat iemand een oplossing heeft.
foutmelding: Project Project1.exe raised exception class EInvalidPointer with message 'Invalid pointer operation'. Process stopped.
De class declaratie
constructor en destructor
test code(draait goed)
Compilen gaat perfect maar bij het afsluiten van het programma krijg ik een foutmelding. Ik hoop dat iemand een oplossing heeft.
foutmelding: Project Project1.exe raised exception class EInvalidPointer with message 'Invalid pointer operation'. Process stopped.
De class declaratie
code:
1
2
3
4
5
6
7
| TTest = class
public
TestArray : array of integer;
constructor Create();
destructor Destroy();
end; |
constructor en destructor
code:
1
2
3
4
5
6
7
8
9
10
11
| constructor TTest.create(); begin inherited create(); setLength(TestArray,6); end; destructor TTest.Destroy(); begin TestArray := nil; inherited destroy(); end; |
test code(draait goed)
code:
1
2
3
4
5
6
7
8
9
| var
TestClass : TTest;
begin
TestClass.Create();
TestClass.TestArray[1]:= 10;
TestClass.TestArray[2]:= 10;
TestClass.TestArray[3]:= 10;
TestClass.Destroy();
end; |