Inicjalizacja pola statycznego

Odpowiedz Nowy wątek
2015-02-12 15:10
0
type
  TTest = class
  private
    class var FTheField : boolean;
  public
  end;  

pytanie jak zainicjalizować pole FTheField wewnątrz klasy?

niby można tak:

type
  TTest = class
  private
    class var FTheField : boolean;
  public
  class procedure Init;
  end;  

Initialization
  TTest.Init;

ale czy da się to zrobić jakoś inaczej?
klasa będzie miała same statyki, więc nie da się wykorzystać jej konstruktora. ( tak mysle).


edytowany 2x, ostatnio: m_Lesiu, 2015-02-12 16:28
classa,statici,constructor... To po polsku już ciężko napisać? - some_ONE 2015-02-12 16:21
dzięki za uwagę. Dziwne ze debuger nie wychwycił. Poprawione. - m_Lesiu 2015-02-12 16:27

Pozostało 580 znaków

2015-02-12 16:17

masz tu noobie i sobie doczytaj!
istnieje cos takiego jak Class Constructor

http://docwiki.embarcadero.co[...]en/Methods#Class_Constructors


W przyszłości sam zamykaj wątki ;) - furious programming 2015-02-12 19:48
głupio mi było sobie samemu ptaszka postawić :( - m_Lesiu 2015-02-13 09:47

Pozostało 580 znaków

2015-02-12 16:52
2

wystarczy żebyś zmienił class procedure na class constructor.

type
  TTest = class
  private
    class var FTheField : boolean;
  public
    class constructor Init;
  end;

class constructor TTest.Init;
begin
  FTheField:=true;
end;

begin
    writeln(TTest.FTheField);
end.
edytowany 1x, ostatnio: Azarien, 2015-02-12 16:53

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0