Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как переписать данные из динамического массива в memorystream? [D7, WinXP]


Страницы:   1 2

marantz85 ©   (2009-06-22 18:34:00) 

Удалено модератором
Примечание: спам


KilkennyCat   (2009-06-23 22:13:00) [1]


> Сергей М. ©   (23.06.09 22:09) [23]

А смысл? Он просто не нашел у массива savetofile, и теперь извращается. Потом будет реализовывать load, и будет еще страннее...


Сергей М.   (2009-06-23 22:09:00) [2]


> у меня появилась следующая проблема


У тебя не проблема - у тебя геморрой, который даже к 22-му посту мешает тебе продемонстрировать местной общественности декларациюидентификатора Data)


marantz85   (2009-06-23 21:57:00) [3]

Это количество байт для записи в memorystream. Видимо большое значение.
Когда 524288 всё работает нормально.


Германн   (2009-06-23 21:47:00) [4]


> marantz85   (23.06.09 21:37) [20]
>
> Спасибо, помогло! Теперь другая проблема.
> SizeOf(Double)* Length(Data[0])у меня = 4194304

Это что за хрень?


marantz85   (2009-06-23 21:37:00) [5]

Спасибо, помогло! Теперь другая проблема.
SizeOf(Double)*Length(Data[0]) у меня = 4194304
С маленькими значениями получается, а с таким выдаёт ошибку!


KilkennyCat   (2009-06-23 21:30:00) [6]

А... почитал другую ветку... а я ведь сразу понял, что конечным итогом является желание сохранить в файл... К;огда захочется на нем нарисовать, то спросят, как сохранить массив в ТБитМап...


Германн   (2009-06-23 21:24:00) [7]


> marantz85   (23.06.09 17:56) [14]
>
> Delphi ругается на строку ms.Write! (если пытаться закинуть
> целиком)

Пиши так:

>  ms.Write(Data [0],SizeOf(Double)*Length(Data));

тогда ругаться не будет.


Игорь Шевченко   (2009-06-23 19:46:00) [8]


>   ms.SaveToFile(fn);


   ms.Position := 0;
   ms.SaveToFile(fn);


Медвежонок Пятачок   (2009-06-23 18:22:00) [9]

либо текущая позиция стрима не та что надо


Медвежонок Пятачок   (2009-06-23 18:13:00) [10]

потому что не смотришь на типы параметров у рида


marantz85   (2009-06-23 17:56:00) [11]

Delphi ругается на строку ms.Write! (если пытаться закинуть целиком)
В общем я пробывал целиком и по элементно. Когда работает поэлементно, код выполняется нормально, но при обратном преобразование из memorystream в массив пишутся нули, вместо значений. И я не понимаю почему. Вот...


Германн   (2009-06-23 00:27:00) [12]


> marantz85   (22.06.09 20:50) [9]
>
> Народ, суть не в том какой массив, а почему значения не
> пишутся в memory stream.  Я пытался засунуть туда массив
> целиком, но Delphi ругается на ошибочное обращение к памяти.
>

Если "Delphi ругается на ошибочное обращение к памяти", то нужно приводить саму ругань дословно и приводить сведения на какой строке ругается.
P.S. Знаю  на 99.9% на какого типа строке. Но в "Основной" об этом стыдно говорить.


Германн   (2009-06-23 00:23:00) [13]


> marantz85   (22.06.09 20:50) [9]
>
> Народ, суть не в том какой массив, а почему значения не
> пишутся в memory stream.  Я пытался засунуть туда массив
> целиком, но Delphi ругается на ошибочное обращение к памяти.
>

Если


Медвежонок Пятачок   (2009-06-22 21:59:00) [14]

array of double вдруг перестал быть непрерывным куском памяти?


Anatoly Podgoretsky   (2009-06-22 20:55:00) [15]

> Медвежонок Пятачок  (22.06.2009 20:05:08)  [8]

Какая разница - для понимания, что говорить о непрерывности можно только с определенными натяжками, а в данном случае и это не натянуть. Никакого непрерывного блока памяти не наблюдается.


marantz85   (2009-06-22 20:50:00) [16]

Народ, суть не в том какой массив, а почему значения не пишутся в memory stream.  Я пытался засунуть туда массив целиком, но Delphi ругается на ошибочное обращение к памяти.


Медвежонок Пятачок   (2009-06-22 20:05:00) [17]

у него не строки а Double


Anatoly Podgoretsky   (2009-06-22 18:58:00) [18]

Да нету никаких "строк", есть массив, содержащий другие массивы. А другие массивы также могут быть не простой структуры, например строки


Медвежонок Пятачок   (2009-06-22 18:50:00) [19]

ну хорошо.
каждая строка это непрерывный кусой памяти.


Anatoly Podgoretsky   (2009-06-22 18:49:00) [20]


> двумерный динамический массив даблов это непрерывный кусок
> памяти.

Никогда таким не являлся, это вообще то два разных массива, массив массивов, и ни о каком куске памяти говорить не приходится.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо