Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];

Вниз

Тип - Вариантная запись. Как сделать поле - дин массив?   Найти похожие ветки 

 
Каспер   (2003-01-09 12:51) [0]

Всем привет!
Вот кусчек кода для того чтоб понятно было
TPData = Record
Case Integer of
0:(x:array of byte);
.......
-выдает ошибку а как избавиться от этого - подскажите другие решения.
Спасибо


 
Думкин   (2003-01-09 12:53) [1]

А скобки очень нужны?


 
Д   (2003-01-09 13:12) [2]

Ну тип там был.. я просто подставил чтоб понятно было..


 
RWolf   (2003-01-09 13:17) [3]

память под запись выделяется статически, поэтому такая конструкция работать не будет. Что до других решений - их можно подсказать, только узнав ответ на вопрос - а для чего нужна такая конструкция?


 
Д   (2003-01-09 13:24) [4]

Вот для чего ...
есть набор типов
type
t1=array[1..100] of byte
t2=array[1..7] of byte
t3=byte;

я что то оп сети передаю мне нужно передавать только свои структуры... А я в принципе не хочу ограничиваться размерами массива
Мне сейчас надо передать набор из неизвестно скольки четырех байтных конструкции. Вот и нужно предумать как это заделать!



 
Каспер   (2003-01-09 13:29) [5]

а ограничиваться именно как t1 я не хочу :( т.е. придется набирать по 25 элементов - потом отправлять потом опять набирать Х элементов и так Н раз :(
Не верю, Дельфи может лучше :(


 
RWolf   (2003-01-09 13:32) [6]

динамическое выделение памяти в Дельфи можно делать:
процедурами New / Dispose;
GetMem / AllocMem / FreeMem;
вызовами соответствующих функций WinAPI;
вызовами конструкторов/деструкторов экземпляров классов
и еще тучей разных способов, включая и дин.массивы, так что вовсе необязательно включать в записи именно их. Можно просто выделить нужное кол-во памяти и оперировать указателями на нее.-


 
Д   (2003-01-09 13:46) [7]

Ну а подробнее?
Вот как мне заделать самое первое сообщение



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.01 c
1-62572
diks
2003-01-11 15:38
2003.01.20
re-enter: пароль


8-62672
reticon
2002-09-29 02:06
2003.01.20
перерисовка окна


3-62361
Che
2002-12-24 00:09
2003.01.20
Удаление


4-62889
alvin
2002-12-02 06:41
2003.01.20
Запущен ли MS Word


7-62883
cecist
2002-11-04 16:09
2003.01.20
Как программно вводить пароли в Windows2000





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