Вниз
Скачать: CL | DM;

Как переписать данные из динамического массива в memorystream?   Найти похожие ветки 

← →
marantz85   (2009-06-22 18:34) [0]

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


← →
Медвежонок Пятачок ©   (2009-06-22 18:38) [1]

Может все же не write a read?


← →
Медвежонок Пятачок ©   (2009-06-22 18:38) [2]

это для начала....


← →
Медвежонок Пятачок ©   (2009-06-22 18:41) [3]

хотя нет, write конечно.
:)


← →
Медвежонок Пятачок ©   (2009-06-22 18:42) [4]

двумерный динамический массив даблов это непрерывный кусок памяти.
зачем здесь цикл вообще?


← →
Anatoly Podgoretsky ©   (2009-06-22 18:49) [5]


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

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


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

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


← →
Anatoly Podgoretsky ©   (2009-06-22 18:58) [7]

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


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

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


← →
marantz85   (2009-06-22 20:50) [9]

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


← →
Anatoly Podgoretsky ©   (2009-06-22 20:55) [10]

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

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


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

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


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


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

Если


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


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

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


← →
marantz85   (2009-06-23 17:56) [14]

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


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

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


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

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


← →
Игорь Шевченко ©   (2009-06-23 19:46) [17]


>   ms.SaveToFile(fn);


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


← →
Германн ©   (2009-06-23 21:24) [18]


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

Пиши так:

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

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


← →
KilkennyCat ©   (2009-06-23 21:30) [19]

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


← →
marantz85   (2009-06-23 21:37) [20]

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


← →
Германн ©   (2009-06-23 21:47) [21]


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

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


← →
marantz85   (2009-06-23 21:57) [22]

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


← →
Сергей М. ©   (2009-06-23 22:09) [23]


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


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


← →
KilkennyCat ©   (2009-06-23 22:13) [24]


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

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



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

Скачать: CL | DM;



Память: 0.5 MB
Время: 0.007 c
3-1226469214
matveih1
2008-11-12 08:53
2009.08.23
Загрузке картинки в DBImage из БД


2-1245739392
Polkin
2009-06-23 10:43
2009.08.23
Вставить готовый текст в RichEdit


2-1245923503
@!!ex
2009-06-25 13:51
2009.08.23
Как установить окну пустой курсор?


15-1245616201
Юрий
2009-06-22 00:30
2009.08.23
С днем рождения ! 22 июня 2009 понедельник


15-1245694692
Kerk
2009-06-22 22:18
2009.08.23
Газетные старости




   Наверх