hallo,
oder mal so versuchen .
Delphi-Quellcode:
procedure Remove_GLXYZGrid_Childs;
var
buffer,buffer1: TGLBaseSceneObject;
x,y: Integer;
child_count:integer;
begin
if GLScene1.Objects.Count > 0 then begin
for x := GLScene1.Objects.Count - 1 downto 0 do
if GLScene1.Objects.Children[x] is TGLXYZGrid then begin
buffer := GLScene1.Objects.Children[x] as TGLXYZGrid;
child_count:=buffer.count;
for y:=child_count-1 downto 0 do begin
buffer1:=buffer.Children[y];
buffer.Remove(buffer1,false);
end;
end;
end;
end;
Die GLLines sind dann gelöscht, und müssen dann wie in #17 wieder hinzugfügt werden.
Bei mir traten beim ausführen keine Fehler auf, da ich das jetzt das auf die schnelle gemacht habe, schließe ich Fehler mal nicht aus. Beim späteren Gebrauch sollte man aber es aber sauberer machen.
Gruß