|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | 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  
			
			
			
			
		 | |||
| 
 | |||
|   А потоки зачем в мире созданы?))))))))) загнал файл в поток, (кстати, размер в этом случае размер значения неимеет, хоть тер загнал, все равно - работает), да и юзай, и придет тебе счастье. |