- Код: Выделить всё
unit MyClasses;
interface
type
TMyClass = class(TObject)
function GetProperty():string;
procedure SetProperty(str:string);
property TheProperty:string read GetProperty write SetProperty;
end;
implementation
procedure TMyClass.SetProperty(str:string);
begin
TheProperty:=str;
end;
function TMyClass.GetProperty():string;
begin
Result:=TheProperty;
end;
end.
И тело программы
- Код: Выделить всё
program WHF;
uses
MyClasses;
var
MyClass:TMyClass;
begin (* main *)
MyClass:=TMyClass.Create;
MyClass.TheProperty :='qwerty';
WriteLn('Property = '+MyClass.TheProperty);
MyClass.Free;
ReadLn();
end. (* main *)
Программа вылетает с кодом 202. Забавно то, что если дописать к юнитам Math, то код ошибки меняется на 217.
Если не использовать в описании класса свойство (property), а, например, оформить MyProperty как поле, а в основном теле программы явно вызывать методы GetProperty/SetProperty, то всё работает как надо.
В настройках компилятора я поставил Delphi compatible. Очень надеюсь на Вашу помощь, так как опыта у меня немного, и очень хотелось бы перейти cо среды Borland Delphi на бесплатный софт. Заранее спасибо.