Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];
ВнизЧтение данных из оверлея Найти похожие ветки
← →
Слава-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 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.046 c