Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > [TStrings] Мистическая проблема.


Автор: CROTishka 8.2.2011, 17:30
открываю иде (2010), создаю новый проект, пишу:
Код

procedure TForm4.Button1Click(Sender: TObject);
begin
  with TStrings.Create do
    Add('ы');
end;


жмем кнопку, получаем:
Цитата

---------------------------
Debugger Exception Notification
---------------------------
Project Project4.exe raised exception class EAbstractError with message 'Abstract Error'.
---------------------------
Break   Continue   Help   
---------------------------

и так при любой операции с созданной TStrings (по ссылке, без ссылки)
что это может быть? раньше такой фигни не было.

Автор: MetalFan 8.2.2011, 17:40
CROTishka, TStrings - абстрактный базовый класс. используй TStringList.

Автор: kovalenko123 8.2.2011, 17:44
Не знаю новых фич дельфи 2010 но в 7 было так
сначала инициализируем переменную с типом потом тока используем

к примеру 
Код

var
  StringList: TStrings;
..
StringList := TStringList.Create;
 with StringList do begin
      Add('Привет CROTishka');
    end;

Автор: CROTishka 8.2.2011, 17:55
нде... smile  ладно, бывает.
спасибо большоею.

Автор: CodeMonkey 8.2.2011, 18:28
Цитата(CROTishka @  8.2.2011,  18:30 Найти цитируемый пост)
раньше такой фигни не было


Да ты врёшь!

Автор: superVad 8.2.2011, 19:09
kovalenko123, вполне нормальная фича. В 7 постоянно юзаю для создания запросов, датасетов, ини-файлов - тех же стринглистов...
Бывает удобно. Хотя с with надо быть осторожнее.

Автор: kovalenko123 8.2.2011, 20:17
superVad, 
Цитата

вполне нормальная фича.

помойму тут была проблема абстрактного класса TStrings как верно подметил MetalFan

Автор: superVad 8.2.2011, 20:39
Цитата(kovalenko123 @  8.2.2011,  19:17 Найти цитируемый пост)
помойму тут была проблема абстрактного класса TStrings как верно подметил MetalFan

Да - я понял.
Просто в качестве  smile порассуждал на тему конструкции:
Код

with object.create do
try
...
finally
  free;
end;

  smile 

Автор: MetalFan 8.2.2011, 23:04
Цитата(superVad @  8.2.2011,  20:39 Найти цитируемый пост)
порассуждал на тему конструкции

Норм конструкция, сам пользуюсь если нет необходимости городить доп.переменную.

Автор: CROTishka 9.2.2011, 13:24
ну, всяко бывает. устал, не доглядел.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)