Форум: "Начинающим";
Текущий архив: 2009.08.23;
Скачать: [xml.tar.bz2];
ВнизКак переписать данные из динамического массива в 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 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.08.23;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.004 c