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

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

buf[0..2048]array of byte и buf array of bute;setlength(buf,204 [D7, WinXP]


Страницы:   1 2 3

redlord ©   (2004-10-12 19:24:00) 

всем привет
народ объясните в чом разница между
buf[0..2048]array of byte
и
buf array of bute;setlength(buf,2048);
в первом случае все работает а во втором ошибка при обращении к адресу (при попытке использовать масив)


redlord   (2004-10-12 21:53:00) [1]

to jack128
ок спасибо теперь все понял


jack128   (2004-10-12 20:44:00) [2]

redlord   (12.10.04 20:39) [39]
blockwrite(Fout, buf,2048,donewrite);

Я угадал!!! :-)

blockwrite(Fout,buf[low(buf)],2048,donewrite);


redlord   (2004-10-12 20:39:00) [3]

сори за длительное отсутствие
за очепятки тоже извентиляюсь :-)
(выше тройки по русскому у меня никогда не было)
цыкл в работе изпользуется

Fin:=tfilestream.Create(info[FnTotal].f,$0);//fmOpenRead);
 info[Fntotal].s:=Fin.Size;
  for n:=1 to Fin.size div 2048 do
 begin
 Fin.ReadBuffer(buf, 2048);  
 blockwrite(Fout,buf,2048,donewrite);
 application.ProcessMessages;
 end;
 Fin.ReadBuffer(buf,Fin.size mod 2048 );
 blockwrite(Fout,buf,Fin.size mod 2048,donewrite);
 application.ProcessMessages;
 Fin.Free;
...
closefile(Fout);
паток применен для возможности копирования самого себя.
вся эта каша применяется в проге паковщика файлов с возможностью само распаковки


SammIk   (2004-10-12 20:30:00) [4]

НЕ в студию, а к стене. Все скажет в "последнем слове")


jack128   (2004-10-12 20:29:00) [5]

Мдя.. Какое пиво?.. Тут опиум курят в обществ. местах. Форум - это ведь общественое место?


GEN++   (2004-10-12 20:28:00) [6]

Автора темы - в студию!


SammIk   (2004-10-12 20:20:00) [7]

Опиум, курю я. Опиум!


Суслик   (2004-10-12 20:18:00) [8]


>  [33] SammIk ©   (12.10.04 20:17)

ты кочегарь, кочегарь анашу. Жалко, если пропадет.


SammIk   (2004-10-12 20:17:00) [9]

У меня аж трубка погасла, пока я тут постил!(


SammIk   (2004-10-12 20:16:00) [10]

Маиби


SammIk   (2004-10-12 20:15:00) [11]

Тогда второй вариант, выделил, гад, меньше чем нам сказал!!!
Обманывает он нас!!!


jack128   (2004-10-12 20:15:00) [12]

jack128 ©   (12.10.04 20:12) [29]

ну то есть не обязательно Move, любая функция, где используются не типизированные параметры..


jack128   (2004-10-12 20:12:00) [13]

SammIk ©   (12.10.04 20:03) [26]
а почему со стат массивом нормально проходит??? Мне импанирует вариант с Move(buf, ..); это классическая ошибка при работе с дин массивами, строками...


SammIk   (2004-10-12 20:05:00) [14]

мож я ее с movememory спутал


Суслик   (2004-10-12 20:03:00) [15]


>  [24] SammIk ©   (12.10.04 20:01)

еще как изменяет вам память.
Неверная....


SammIk   (2004-10-12 20:03:00) [16]

Не, скорее всего выделил он 2048, но где-то решил заглянуть дальше.
А хотя кто его знает)


begin...end   (2004-10-12 20:01:00) [17]


> [23] SammIk ©   (12.10.04 19:59)


> Может на оборот? 2049 вместо 2048?

Ну это смотря с какой стороны посмотреть ;-) Короче, Автор: 2048 <> 2049.


SammIk   (2004-10-12 20:01:00) [18]

И в-первом и во-втором стоит писать @buff.
Если мне не изменяет память, Вы уж судари простите, но
я за делфеи не сидел ужо пол года.


SammIk   (2004-10-12 19:59:00) [19]

Может на оборот? 2049 вместо 2048? Я про тоже.
Поздравляю, в нашем полку любопытствующих прибыло!!
-
А автор, походу умыл руки.
Ты не стесняйся, мы не обидем. Нам интересно!!


Суслик   (2004-10-12 19:58:00) [20]


> Дорогой сосел, как Вы думаете, что может быть акромя этого.
> В данной(есесно) ситуации?

за сосла в глаз :)) шутка, ну вы поняли.

Может быть например такое:
move(buff, .., 2048)
В первом случае будет все нормально.
Во стором вероятен AV


Страницы:   1 2 3

Наверх

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