Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#7

AW: Klassen Wegoptimieren abschalten ?

  Alt 30. Nov 2010, 18:41
Ich denke dass du deiner Lösung (RTTI und Delphi Internas bis an die Grenzen ausreizen) auf den Holzweg bist.
Immer an das KISS-Prinzip denken!
Leider hast du nirgends erklärt wozu du Strings in Objekte umwandeln möchtest und wie die Klassen aufgebaut sind.
Es gibt aber die Design-Pattern Class-Factory und Builder.

Delphi-Quellcode:
TGameObjFactory = class(TObject)
public
  class function CreatePlayer:TPlayer;
  class function CreateBomb:TBomb;
  class function CreateBlackHole:TBlackHole;

  class function CreateByString(const s:string):TGameBaseClass;
end;


class function TGameObjFactory.CreatePlayer:TPlayer;
begin
  Result := TPlayer.Create;
end;

class function TGameObjFactory.CreateByString(const s:string):TGameBaseClass;
begin
  if s='playerthen
    result := CreatePlayer
  else if s='bombthen
    result := CreateBomb
  else if s='timebombthen
  begin
    Result := CreateBomb; TBomb(Result).Delay := 360;
  end
  else ...
end;
Eine saubere Lösung ohne Tricks und doppelten Boden.
  Mit Zitat antworten Zitat