Ik krijg echt een hele vage error, en ik heb geen idee waar het vandaan komt.
Uitgaande van onderstaande classes:
Tijdens het compilen van het proggie krijg ik bij de procedure van TMyClassA een foutmelding
Sterker nog: Als ik overal de PInteger weg haal en vervang door een integer, dan gaat het compilen goed.
Ik heb echt al van alles geprobeerd, maar niets helpt. En die pointers heb ik echt nodig...
Uitgaande van onderstaande classes:
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
| type
PInteger = ^integer; //Pointer naar een integer
type
TAbstractClass = class
public
procedure DoeIets(Value: PInteger); virtual; abstract;
end;
type
TMyClassA = class(TAbstractClass)
public
procedure DoeIets(Value: PInteger); override;
end;
type
TMyClassB = class(TAbstractClass)
public
procedure DoeIets(Value: PInteger); override;
end;
implementation
procedure TMyClassA.DoeIets(Value: PInteger);
begin
// ..
end;
procedure TMyClassB.DoeIets(Value: PInteger);
begin
// ..
end; |
Tijdens het compilen van het proggie krijg ik bij de procedure van TMyClassA een foutmelding
Terwijl ik er 200% zeker van ben dat ik geen tikfouten heb gemaakt.[Error] prog.pas(34): Declaration of 'DoeIets' differs from previous declaration
Sterker nog: Als ik overal de PInteger weg haal en vervang door een integer, dan gaat het compilen goed.
Ik heb echt al van alles geprobeerd, maar niets helpt. En die pointers heb ik echt nodig...