Цитата:
	
	
		| 
			
				 Сообщение от Змей 
				При попытке присвоения данных из файла(через FileStream) динамическому массиву, вылетает ошибка. Если массив обычный,то работает все нормально, что сделать что бы и с динамическим было тоже самое? 
Текст программы:
 
	Код: 
	var
  Form1: TForm1;
  A: Tfilestream;
  data: array of integer;
  i: integer;
procedure TForm1.Button1Click(Sender: TObject);
begin
setlength(data,100);
if opendialog1.Execute then
A:=Tfilestream.Create(opendialog1.FileName, fmOpenRead);
A.Read(data,sizeof(data));
for i:=0 to 99 do
begin
memo1.Lines.Add(inttostr(data[i]));
end;
end;  
 
Причем ошибка вылетает на строчке с memo:
   
			
		 | 
	
	
 
Давай зырить, вот смотри:
Кусочек из твоего кода
	Код:
	if opendialog1.Execute then
A:=Tfilestream.Create(opendialog1.FileName, fmOpenRead);
A.Read(data,sizeof(data));
 
 
что будет, если opendialog1.Execute вернет false??? Опачки, на строке A.Read(data,sizeof(data)); мы получим "Occezz Veolation bla-bla read of address 0000003B" (не суть важно).
Да и потом, если на то уж пошло, то должно быть чето типа A.ReadBuffer(data[0], Length(data));
Так-то, господин Змий.
Олсо, существую спецовые ридеры и врайтеры (TReader, TWriter) для того, чтобы такой говнокод не набирать.