![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Код:
procedure TForm1.Button1Click(Sender: TObject);
const
ReadBuffer = 2400;
var
buffer: PChar;
buf: string;
readb: DWord;
begin
hfile:=CreateFile(PChar(ExtractFilename(ParamStr(0))+'original.hashtable'),GENERIC_READ,FILE_SHARE_READ,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
Repeat
ReadFile(hfile, Buffer[0], READBUFFER, readb, nil);
Buffer[readb]:=#0;
OemToAnsi(Buffer, Buffer);
Memo1.Text:=Memo1.Text+String(Buffer);
until (readb<READBUFFER);
end;Ругается на память... ему не нравиться Buffer[readb]:=#0 -((( в чем ошибка??? |
|
#2
|
|||
|
|||
|
я в коде ошибся на самом деле ExtractFilePath(ParamStr(0))
но все равно выдает ошибку! |
|
#3
|
||||
|
||||
|
Выдели память под Buffer. У тебя указатель Buffer ни на что не указывает.
|
|
#4
|
|||
|
|||
|
А потоки зачем в мире созданы?)))))))))
загнал файл в поток, (кстати, размер в этом случае размер значения неимеет, хоть тер загнал, все равно - работает), да и юзай, и придет тебе счастье. |