Текущий архив: 2003.01.23;
Скачать: CL | DM;
Вниз
Инициализация record ов Найти похожие ветки
← →
smok_er (2003-01-15 12:01) [0]Мастера! Как при выделении памяти под рекорд сразу его проинициализировать, например, нулями?
А то какая-то каша, например 1,234345645767E10 и т.п.
← →
RWolf (2003-01-15 12:05) [1]p:=AllocMem(sizeof(TRec));
← →
smok_er (2003-01-15 12:11) [2]Спасибо, но...
Я сейчас делаю так:
Rec: PRecord;
New(Rec);
Rec^.a1 := 0;
Rec^.a2 := 0;
и т.д.
Вы можете слить наши примеры и показать, как правильно?
← →
RWolf (2003-01-15 12:14) [3]Rec:=AllocMem(sizeof(TRec));
выделяет память и заполняет ее нулями.
← →
still (2003-01-15 12:15) [4]FillChar(Rec, sizeof(Rec), 0);
← →
RWolf (2003-01-15 12:17) [5]still, ты обнулил указатель
правильно - FillChar(Rec^, sizeof(TRec), 0);
← →
REA (2003-01-15 12:19) [6]Аккуратнее с длинными строками - их в такие рикорды нельзя класть. Не инициализируются.
← →
still (2003-01-15 12:22) [7]согласен. стормозил ...
← →
smok_er (2003-01-15 12:35) [8]Т.е. теперь надо делать так:
Rec: PRecord;
New(Rec);
Rec:=AllocMem(sizeof(TRec));
← →
RWolf (2003-01-15 12:37) [9]нет %)
Rec:=AllocMem(sizeof(TRec));
всё
← →
smok_er (2003-01-15 12:37) [10]Сорри, ответчал на этот пост:
RWolf (15.01.03 12:14)
Rec:=AllocMem(sizeof(TRec));
выделяет память и заполняет ее нулями.
← →
RWolf (2003-01-15 12:39) [11]освобождать память нужно будет так:
FreeMem(Rec);
← →
smok_er (2003-01-15 13:09) [12]Мне это не нужно.
Прога нужна для просмотра отчетов и после построения последних сразу закрывается. А там уже дядя Билли все продумал :)
Хотя это некрасивый стиль программирования, но не хочется заниматься освобождением памяти
← →
smok_er (2003-01-15 13:10) [13]RWolf (15.01.03 12:39)
Извини, забыл сказать самое главное - огромнейшее спасибо!
Страницы: 1 вся ветка
Текущий архив: 2003.01.23;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.012 c