наследование объектов с дин. массивом - как?

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

проверил, pointer(v) := nil работает - как и должно быть, ведь init делает тоже самое.

Код: Выделить всё

program project1; 

{$mode objfpc}{$H+}

uses Objects;
type
  TTestArr = array of integer;
 
  TDemo = object(TObject)
    V:TTestArr;
  end;
 
  { TDemo2 }

  TDemo2 = object(TDemo)
    procedure DoTest;
  end;

{ TDemo2 }

procedure TDemo2.DoTest;
begin
  SetLength(V, 10);
end;


procedure Inits;
var
  D:TDemo2;
begin
  //D.Init;
  D.DoTest;
  D.Done;
end;

begin
  writeln('aaaaaa');
  Inits;
end.


а вылет у меня тут не на SetLength(V, 10);, а на D.Done - нефиг вызывать деструктор без конструктора, посмотрите внимательней
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Не пора ли прекращат обсуждение того, как НЕ НАДО писать программы?

А то ещё кого либо научим не правильно :lol:
zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

>>Не пора ли прекращат обсуждение того, как НЕ НАДО писать программы?

А как надо? классы для всего?
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Правильно использовать конструкторы
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

Правильно - прежде чем калякать первый попавшийся под руку код, надо программу спроектировать, а потом уже код писать. :)
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Vadim писал(а):прежде чем калякать первый попавшийся под руку код, надо программу спроектировать, а потом уже код писать

Это аксиома - поэтому даже не обсуждается.
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

alexs
Постоянно сталкиваюсь с вопросами по программированию, ноги у которых растут из отсутствия проектирования. :)
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Я тоже, к сожалению. Но это уже к теме не относится.
Ответить