Momenteel lukt het me maar niet om een eigen class in een eigen class te gebruiken.
In eerste instantie heb ik alles met pointers geprobeerd, maar na de help gelezen te hebben heb ik die weggelaten. (Omdat volgens de help iedere class al een pointer is, en deze voor het gemak voor de gebruiker worden omgezet zodat je er zelf niet over hoeft na te denken)
Ik heb maar even een simpel voorbeeldje gemaakt. En zelfs dat wil niet werken. Het gaat hier om de class TAuto en TKenteken. Nou wil ik de auto een kenteken geven, en dat doe ik op de volgende manier:
Maar in de functies SetKenteken en GetKenteken gaat het mis. Access violation....
Heeft iemand misschien een idee of bruikbare tip?
In eerste instantie heb ik alles met pointers geprobeerd, maar na de help gelezen te hebben heb ik die weggelaten. (Omdat volgens de help iedere class al een pointer is, en deze voor het gemak voor de gebruiker worden omgezet zodat je er zelf niet over hoeft na te denken)
Ik heb maar even een simpel voorbeeldje gemaakt. En zelfs dat wil niet werken. Het gaat hier om de class TAuto en TKenteken. Nou wil ik de auto een kenteken geven, en dat doe ik op de volgende manier:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
| type
TKenteken = class
private
Fland: string;
procedure SetLand(Value: string);
function GetLand(): string;
published
property land: string read GetLand write SetLand;
end;
type
TAuto = class
private
Fmerk: string;
Fkenteken: TKenteken;
procedure SetMerk(Value: string);
function GetMerk(): string;
procedure SetKenteken(Value: string);
function GetKenteken(): string;
published
property merk: string read GetMerk write SetMerk;
property kenteken: string read GetKenteken write SetKenteken;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TAuto.SetMerk(Value: string);
begin
Fmerk := Value;
end;
function TAuto.GetMerk(): string;
begin
Result := Fmerk;
end;
procedure TAuto.SetKenteken(Value: string);
begin
FKenteken.Land := Value;
end;
function TAuto.GetKenteken(): string;
begin
Result := FKenteken.Land;
end;
procedure TKenteken.SetLand(Value: string);
begin
Fland := Value;
end;
function TKenteken.GetLand(): string;
begin
Result := Fland;
end; |
Maar in de functies SetKenteken en GetKenteken gaat het mis. Access violation....
Heeft iemand misschien een idee of bruikbare tip?