Toster Napisano Luty 13, 2008 Zgłoś Share Napisano Luty 13, 2008 ok teraz bedzie cos innego ciekawego (jak dla mnie) zalozmy ze mamy obiekt o dzwiecznej nazwie: TGfxAnimator i ma ten obiekt taka metode: procedure TGfxAnimator.ActivateSequence(const data: TGfxAnimatorData; const initFrame:integer=0); begin if data = nil then begin fActiveSeq := nil; exit; end; if fAnimData.IndexOf(data) <0 then raise EKNInvalidArgument.Create('Sequence not found:'); fActiveSeq := data; //-------------------- TGfxAnimatorData(ActiveSeq).ResetAnim; SelectFrame(initFrame); //-------------------- end; Ś)QŃŃŃMĄŃQŃŃŃŃ)(ĄŃŃŃMĄŃŃ(QŃŃĄŃMIŃ(MąŃĄŃ)( i teraz moje pytanie: jak sadzicie czy podane przezemnie metody sa poprawnie zrefaktorowane ? Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Blind Napisano Luty 13, 2008 Zgłoś Share Napisano Luty 13, 2008 Moim zdaniem nie, przez exit które jest w przysłanianej metodzie. www.blinder.pl - Blog Link do komentarza Udostępnij na innych stronach More sharing options...
KKKas Napisano Luty 13, 2008 Zgłoś Share Napisano Luty 13, 2008 Ta. Zamienić na funkcję, przy poprawnym wykonaniu zwracać True i będzie git ;-) ҉ Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Luty 13, 2008 Autor Zgłoś Share Napisano Luty 13, 2008 bez herezji jaka funkcje.... rozwin temat Blind, bo chcialbym zaznaczyc ze z funkcji przed refactorem wynika jasno ze nil jest akceptowalnym parametrem. Wiec po refaktorze dalej musi byc takim parametrem, nie mozemy zmieniac zakresu argumentow ktore funkcja przyjmuje. Propozycja modyfikacji ? (bez zamiany na funkcje) Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Blind Napisano Luty 13, 2008 Zgłoś Share Napisano Luty 13, 2008 po inherited zrobic jeszcze raz if-a if (data=ni) then exit; chyba ze chodzi o cos innego www.blinder.pl - Blog Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Luty 13, 2008 Autor Zgłoś Share Napisano Luty 13, 2008 true true o to chodzi, latwo sie na tym walnac przy Ctrl+C, Ctrl+V Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Toster Napisano Luty 26, 2008 Autor Zgłoś Share Napisano Luty 26, 2008 zagadka nr 2 mamy takie cus TObjEntity = class abstract(TMultiLinkableObj, IMultiParent) public constructor Create; destructor Destroy;override; protected fx, fy: Real; fAnimators: TList; fActiveAnimators:TList; //!< lista aktywnych w tym momencie animatorow fRefCount: integer; //!< uzywane przez system interfacow fName: string; constructor TObjEntity.Create; begin inherited; fActiveAnimators := TList.Create; fAnimators := TList.Create; end; (ł73z.ąŚ(Q1 =ąĄQ=ŃŃ(ą(ŃŃ Ńą(Ń((ŃQ1(ŃŃQ1źźąąŃŃŃŃ(9Ń()ŃŃQ1 = Ń)(ĄŃ(99QąŃ(ąŃ(%QąŃŃ) No wiec kto wie, bedzie asercja (fAnimators = nil) czy nie bedzie asercji ? Odpowiedz uzasadnij Always Dark<br /> Link do komentarza Udostępnij na innych stronach More sharing options...
Force Napisano Luty 26, 2008 Zgłoś Share Napisano Luty 26, 2008 Pomijając fakt, że, że są to dane niewidoczne dla foo, bo prywatne lub protected, ale załóżmy, że są publiczne, to uważam, że nie będzie asercji (FAnimators będzie różne od nil). Czemu? Bo wydaje mi się że takie coś zrobiłem w DeDo i wtedy doszedłem do wniosku, że zmienne się nie przykrywają. Baa.... teraz bym nie był pewien czy a.fAnimators jest różne od nil Aczkolwiek mogę się mylić, bo może w DeDo było trochę inaczej Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.