Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#3

Re: (GLScene)zur Laufzeit erstellte FreeForm Objekte zugreif

  Alt 19. Nov 2005, 23:37
Hi,
da sind dir wohl echt ein paar Fehler zwischen gekommen. Bei der aktuellen Version von GLScene heißt die Klasse eigentlich TGLFreeForm. Mit z.B. folgendem Code solltest du das hinbekommen

Delphi-Quellcode:
var GLFreeForm : TGLFreeForm;
begin
  GLFreeForm := TGLFreeForm.Create(self.GLScene1);
  self.GLScene1.Objects.AddChild(GLFreeForm);
  GLFreeForm.Position.X := ....
end;
Und wenn du das Objekt suchst, ist der Name sicherlich nicht das Richtige, immerhin könntest du annonym so einige GLFreeForms einfügen. Wenn du jedenfalls nach einem FreeForm suchst, solltest du lieber die GLScene bemühen, in die du das Objekt eingefügt hast. Oder in deinem Fall, wenn du eh ein DummyCube mitbenutzt und der global (also z.B. schon zur Designzeit) gespeichert ist, kannst du auch direkt seine Childs durchgehen

Also entweder

Delphi-Quellcode:
  self.GLScene1.Objects.FindChild(ChildName : String, OnlyOwnChilds : Boolean); // bzw.
  self.GLDummyCube1.Objects.FindChild(ChildName : String, OnlyOwnChilds : Boolean)

oder

  for i := 0 to self.GLDummyCube1.Count - 1 do
    if (self.GLDummyCube1.Children[i] is TGLFreeForm) then
      ....
  Mit Zitat antworten Zitat