| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Как в run-time задать границы массива |
| Автор: dm9 29.10.2003, 01:26 | ||||
| Возникла такая задача. Приложение и dll работают с разделяемой памятью. Фактически разделяемая память является двухмерным массивом. Но понятно, что разделяемая память - это всего лишь последовательность байт. Для того, чтобы мне было удобно работать с этой памятью, требуется сослаться на неё удобной мне структурой. Например, если я заранее знаю размер матрицы, то это делается так:
Но в моей задаче размер заранее неизвестен. Можно, конечно, работать с линейной структурой:
Но это крайне неудобно. Как мне описать такую структуру, чтобы можно было работать с блоком разделяемой памяти как с двухмерным массивом, размеры оторого заранее неизвестны (они передаются в процедуру как параметры)? |
| Автор: cot 29.10.2003, 06:56 |
| Задай двухмерный динамический TLine=Array of array of byte |
| Автор: Paradox 29.10.2003, 07:44 | ||
|
| Автор: p0s0l 29.10.2003, 10:15 | ||
Можно попробовать что-то вроде такого:
SetDimensions задаёт размеры матрицы DynArray Обращаться к матрице - как обычно: DynArray[y, x] := ... |
| Автор: dm9 29.10.2003, 14:26 |
| p0s0l, большое спасибо за идею. Попробую сделать так. |