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

Чтение данных из оверлея   Найти похожие ветки 

← →
Слава-17   (2007-07-14 13:22) [0]

При исполнении этого кода:


var
 Str: String;
begin
 Str := "";
 with TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyWrite) do try
   Seek(Size - 4, soFromBeginning);
   SetLength(Str, 4);
   ReadBuffer(Str, 4);
 finally
   Free;
 end;
 ShowMessage(Str);


Вылетает ошибка Acces Violation. Странно. Ведь файл программы был открыт
с использованием fmShareDenyWrite. Я что-то делаю не так?


← →
Anatoly Podgoretsky ©   (2007-07-14 15:00) [1]

> Слава-17  (14.07.2007 13:22:00)  [0]

ReadBuffer(Str[1], 4);


← →
Слава-17   (2007-07-14 16:01) [2]

Спасибо! Помогло. А как с другими типами данных?..


← →
Anatoly Podgoretsky ©   (2007-07-14 16:02) [3]

А нет здесь других типов данных
Но все просто, первый параметр адрес "буфера"


← →
Слава-17   (2007-07-14 16:21) [4]

То есть, если я захочу считать Integer, писать просто:


var
 Int: Integer;
begin
 Int := 0;
 ..
 ReadBuffer(Int, 3);
 ..
 ShowMessage(IntToStr(Int));


?


← →
{RASkov} ©   (2007-07-14 16:45) [5]

> [4] Слава-17   (14.07.07 16:21)
> ReadBuffer(Int, 3);

Нет, не так. Вот так:
ReadBuffer(Int, SizeOf(Int));


← →
Zagaevskiy ©   (2007-07-14 16:47) [6]


> ReadBuffer(Int, SizeOf(Int));

const
  t = SizeOf(Integer);
....
  ReadBuffer(Int, t);
;)


← →
{RASkov} ©   (2007-07-14 16:59) [7]

> [6] Zagaevskiy ©   (14.07.07 16:47)

Не.... не верно....
так как я могу переменной Int поставить впоследствии вместо типа Integer тип Byte....
И ищи свищи где там еще чего исправить...
;)


← →
Anatoly Podgoretsky ©   (2007-07-14 17:00) [8]

> Zagaevskiy  (14.07.2007 16:47:06)  [6]

Глупость, а завтра он поменяет тип int и все к черту


← →
Слава-17   (2007-07-15 00:39) [9]

Все, спасибо... :)))


← →
Zagaevskiy ©   (2007-07-15 11:38) [10]


> Глупость, а завтра он поменяет тип int и все к черту

да это просто из соседней ветки
http://delphimaster.net/view/2-1184413664/



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

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



Память: 0.47 MB
Время: 0.017 c
1-1180686550
Inna_Z
2007-06-01 12:29
2007.08.12
Как послать e-mail с русским текстом.


2-1184868774
Knob
2007-07-19 22:12
2007.08.12
Запись данных в файл


2-1184854845
Avokain
2007-07-19 18:20
2007.08.12
Числа вида 1,000,000


15-1184510597
RGree
2007-07-15 18:43
2007.08.12
Пожалуйста, залейте куда-нибудь следующие файлы:


15-1184239754
Кевларвестов Семен
2007-07-12 15:29
2007.08.12
Определить Null или Not Null Поле в БД




   Наверх