Форум: "Начинающим";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];
ВнизСохранение записи в файл. Найти похожие ветки
← →
Belorus © (2007-02-23 10:40) [0]Есть структура
TMonthShed = record
MonthNum : Cardinal;
Year : Cardinal;
Clients : array of Cardinal;
Days : array of Cardinal;
end;
При попытке сохранить её в типизированый файл сообщает мол
Type TmonthShed needs finalization.
Что можно сделать чтобы сохранить запись ? Просто таких структур у меня больше 15, и писать для каждой процедуру сохранения и загрузки - мне кажется не лучшим выходом.
← →
Elen © (2007-02-23 10:56) [1]воспользоваться процедурой finalize перед записью в файл
← →
S@shka © (2007-02-23 11:13) [2]
> воспользоваться процедурой finalize перед записью в файл
Интересно а что структура динамически создается?
← →
Elen © (2007-02-23 11:20) [3]
> При попытке сохранить её в типизированый файл
Может при попытке компиляции?
← →
Virgo_Style © (2007-02-23 11:26) [4]Как вы представляете себе запись динамического массива в типизированный файл
← →
Elen © (2007-02-23 11:29) [5]
> Virgo_Style © (23.02.07 11:26) [4]
в типизированный никак. Через BlockWrite представляю, поэтому и удивила фраза : "При попытке сохранить её в типизированый файл", хотя эта ошибка должна была вылезти при компиляции.
← →
RASkov (2007-02-23 12:25) [6]> [0] Belorus © (23.02.07 10:40)
Либо объяви структуру "законченной"(массивы статические)
либо откажись от типизированного файла и пиши в нетипизированный файл блоками.
И как уже заметили, такую ошибку делфи генерит на этапе компиляции, а не в рантайме.
> писать для каждой процедуру сохранения и загрузки - мне
> кажется не лучшим выходом
Может всетаки наоборот, как раз написать пару процедур SaveStruktToFile и LoadStruktFromFile - общих для всех твоих структур - и есть выход?
← →
Belorus © (2007-02-23 13:00) [7]Может при попытке компиляции?
Да . Именно при компиляции. Спасибо что поправил.
Может всетаки наоборот, как раз написать пару процедур SaveStruktToFile и LoadStruktFromFile - общих для всех твоих структур - и есть выход?
Скорее всего именно так. :(
Как вы представляете себе запись динамического массива в типизированный файл
Ну скажем сперва делфи запищет размер а дальше сами элементы. Благо они все по 4 байта. IMHO лучше чтобы компилятор умел делать это, чем не умел.
← →
Virgo_Style © (2007-02-23 13:34) [8]Belorus © (23.02.07 13:00) [7]
IMHO лучше чтобы компилятор умел делать это, чем не умел.
Недолгий поиск в инете показал, что со времен изучения мной языка ничего не изменилось и типизированный файл по-прежнему состоит из одинаковых блоков одинаковой длины. А значит - не содержат длинных строк и динамических массивов...
Конечно, было бы лучше, чтобы компилятор заодно умел писать обработчики, исходя из названия кнопки, чем не умел... Но это слишком рискованно, бабуины не дремлют.
← →
Elen © (2007-02-23 15:47) [9]
> Спасибо что поправил.
Опять опечатался?
← →
Belorus © (2007-02-23 16:29) [10]Опять опечатался?
Ещё раз извиняюсь. Но теперь не опечатался. Сейчас просто не задумался.
По негласным правилам интернета любой собеседник мужского пола и обращаться можно на ты. Но первое уже далеко не всегда истина, а привычка осталась.
Конечно, было бы лучше, чтобы компилятор заодно умел писать обработчики, исходя из названия кнопки, чем не умел...
По очевидным причинам этот бред и то чего пожелал я несоизмеримы. Но всё равно спасибо. Я уже понял что хочу слишком многого.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.049 c