AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

GLscene - InheritsFrom(tclass)

Ein Thema von Weazy · begonnen am 3. Feb 2006 · letzter Beitrag vom 3. Feb 2006
Antwort Antwort
Benutzerbild von Weazy
Weazy

Registriert seit: 7. Apr 2005
Ort: Bern (Schweiz)
414 Beiträge
 
Delphi 2007 Enterprise
 
#1

GLscene - InheritsFrom(tclass)

  Alt 3. Feb 2006, 15:43
Hi, ich hoffe hier kennt jemand glscene!

Ich habe einen tglcube und lade einen tglcube aus einer Datei. Nun möchte ich alle Parameter des würfels aus der Datei auf den Würfel in der Szene übertragen. Ich könnte das z.B so machen:

Delphi-Quellcode:
cube1.position:=cube2.position;
cube1.material:=cube2.material;
...usw
Diese Methode ist mir etwas zu plump. Ich habe herausgefunden , das man auf einen tglcube die funktion InheritsFrom(tclass) verwenden kann. Leider funktioniert es so nicht, da tglcube keine tclass ist.

cube1.InheritsFrom(cube2); Wie könnte ich das Problem lösen oder gibt es noch andere Methoden?

Vielen Dank!
Philippe Wechsler
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: GLscene - InheritsFrom(tclass)

  Alt 3. Feb 2006, 15:50
Objekte, die von TPersistent abgeleitet wurden, haben die Methode Assign (und AssignTo).
cube1.Assign(cube2); Falls das nicht klappt ist cube1 kein Objekt oder die Klasse ist schlecht designt.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Weazy
Weazy

Registriert seit: 7. Apr 2005
Ort: Bern (Schweiz)
414 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: GLscene - InheritsFrom(tclass)

  Alt 3. Feb 2006, 16:07
das klappt irgendwie nicht. Ich glaube nicht das glscene schlampig geprogt ist, aber irgendwie müsste es doch auch mit InheritsFrom gehen, die werden die funktion doch nicht für nichts gemacht haben...
Philippe Wechsler
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: GLscene - InheritsFrom(tclass)

  Alt 3. Feb 2006, 16:20
Zitat von Weazy:
das klappt irgendwie nicht. Ich glaube nicht das glscene schlampig geprogt ist, aber irgendwie müsste es doch auch mit InheritsFrom gehen, die werden die funktion doch nicht für nichts gemacht haben...
InheritsFrom hat eine ganz andere Bedeutung, als du hier annimmst.
Die Klassenmethode gibt nur True oder False zurück und zeigt an, ob eine Klasse von einer anderen abgeleitet ist.
Du möchtest die Werte von cube1 auf cube2 kopieren. Und dazu wurde Assign erfunden.
Nur der Soucrecode kann Aufkunft geben, ob Assign entsprechend überschrieben wurde oder nicht.
Hier ein kleines Beispiel für Assign:
Delphi-Quellcode:
// die Werte von Source werden auf "self" kopiert
procedure TFieldDef.Assign(Source: TPersistent);
var
  I: Integer;
  S: TFieldDef;
begin
  if Source is TFieldDef then
  begin
    if Collection <> nil then Collection.BeginUpdate;
    try
      S := TFieldDef(Source);
      {FieldNo is defaulted}
      Name := S.Name;
      DataType := S.DataType; // kopiere den Datentyp
      Size := S.Size; // kopiere size ....
      Precision := S.Precision;
      Attributes := S.Attributes;
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Weazy
Weazy

Registriert seit: 7. Apr 2005
Ort: Bern (Schweiz)
414 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: GLscene - InheritsFrom(tclass)

  Alt 3. Feb 2006, 16:26
ich habs, ich verwendete ein tgclcustomsceneobject um assgin anzuwenden. Stattdessen verwendet ich nun dierekt tglcube und nun funktioniert es! Vielen Dank!
Philippe Wechsler
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz