Zawsze używałem w Pascalu typów obiektowych ( object ), mam sporo napisanych programów i teraz próbuje to przełozyć na typy z klasami ( class ). Przeczytałem trochę manuali do FPC, ale ciągle mam dosyć podstawowe problemy. W klasie moga być dwa rodzaje konstruktorów. Pierwszy, deklarowany ze słówkiem class :
type MyClass = class
class constructor Create;
end;
class constructor MyClass.Create;
begin
writeln('startuję konstruktor...');
end;
to działa tak jak oczekiwałem, program wywołuje ten konstruktor przy swoim starcie, nawet gdy nie deklaruję żadnej zmiennej tej klasy. A teraz przypadek, którego nie rozumiem - bardzo podobny:
type MyClass = class
constructor Create;
end;
constructor MyClass.Create;
begin
writeln('startuję konstruktor...');
end;
i tutaj oczekiwałbym, że kod
var M:MyClass;
begin
M.Create; // jawne wywołanie konstruktora ??
w momencie, gdzie jest wołany konstruktor wypisze mi komunikat na ekranie. A tak się nie dzieje. Ten komunikat nie pojawia sie do końca programu w ogóle. Nie wywołuje on tego mojego konstruktora ?
Pomóżcie mi dowiedzieć się czego nie zrozumiałem ?