Показать сообщение отдельно
  #20  
Старый 03.12.2012, 04:52
Аватар для morebeauty
morebeauty morebeauty вне форума
Начинающий
 
Регистрация: 21.06.2012
Сообщения: 106
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Не в тех местах ты экономишь.
Экономлю везде где могу.

Цитата:
И всё же я не пойму: FCount у тебя константа или не константа?
Константа это то, что жёстко задано ещё при компиляции программы. Если так, то TStringArray у тебя становится статическим массивом и не нужно никаких SetLength(FRecs.[i].Vars,A)
Если же FRecs изменяется в процессе работы программы, то это никакая не константа, из чего вытекает использование динамических массивов, SetLength и т.п.
Другими словами, если компилятор знает размер массива, то работу по распределению памяти под этот массив он берёт на себя, если же не знает, тогда придётся "вручную" SetLength, GetMem и т.п. Одно из двух - а как же иначе?
FCount у меня - некая переменная, передаваемая конструктору при создании класса. В этот момент и должен определяться размер TStringArray. Один раз при создании объекта класса.
Я уже сделал через SetLength, но вопрос не решен.

Я помню в бейсике объявить переменную/массив можно было в любой части программы. Понимаю, паскаль не бейсик, но, возможно, есть какие-либо ухищрения.
Ответить с цитированием