Главная страница
    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.038 c
11-1151130532
AndreyRus
2006-06-24 10:28
2007.03.18
InitCommonControls(Ex) & Manifest XP


2-1172660999
МегаПупс
2007-02-28 14:09
2007.03.18
Курсор


2-1172349879
spyrytus
2007-02-24 23:44
2007.03.18
Как узнать что нибуть по кнопкам


2-1172438129
niil
2007-02-26 00:15
2007.03.18
TidHttp -> TImage


2-1172267824
arccis
2007-02-24 00:57
2007.03.18
закрытие и автозагрузка





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский