Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1172564033
deras
2007-02-27 11:13
2007.03.18
Как сделать Edit "плоским"?


4-1155566603
Sinus
2006-08-14 18:43
2007.03.18
Загрука и отображение bitmap


15-1171752456
koha
2007-02-18 01:47
2007.03.18
Может быть обсудим новую утилиту


2-1172168261
Pr Woll
2007-02-22 21:17
2007.03.18
Опознать строку ввода


15-1171772413
homm
2007-02-18 07:20
2007.03.18
64-х битный ли???





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский