Quote Originally Posted by M109uk
I have changed the code to use pointers instead, however i am getting an access violation error when i add data to the pointer (around the 20th item to be added)

am i doing something wrong...

heres the code im using:
[pascal]//---- add data to pointers
procedure AddToMem(Cloud: TVolumetricCloud; v2: TVector2f; v3: TVector3f; v4a,v4b: TVector4f);
begin
Cloud.vBuffer^ := v3;
Inc(Cloud.vBuffer); <-------------- ERROR HERE
Cloud.cBuffer^ := v4a;
Inc(Cloud.cBuffer);
Cloud.IcBuffer^ := v4b;
Inc(Cloud.IcBuffer);
Cloud.tBuffer^ := v2;
Inc(Cloud.tBuffer);
end;[/pascal]
im sure i've missed something really dumb..
Propably That code is trying to increase pointers by 1 like you showed in class definition. Try
Inc(Cloud.vBuffer^);
etc...