![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здравствуйте! Не могу понять в чем ошибка: описываю свой тип TUpdateInf присваиваю переменной этого типа значения записываю все это в файл с помошью TFileStream потом читаю и вывожу все это на экран с помошью ShowMessage, одно из двух либо выходит абракадабра либо вылетает ошибка Access violation at address... В чем обшибка подскажите?
Код:
private
{ Private declarations }
public
{ Public declarations }
end;
TUpdateInf = Record
FName: Array[0..999] of String;
FUpd: Array[0..999] of Boolean;
End;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BWriteClick(Sender: TObject);
var
I:SmallInt;
F:TFileStream;
Inf:TUpdateInf;
begin
For I:=0 to 9 do
Begin
Inf.FName[i]:='test' + inttostr(i);
Inf.FUpd[i]:=True;
End;
F:=TFileStream.Create('C:\1.txt',FmCreate);
F.WriteBuffer(Inf,SizeOf(TUpdateInf));
F.Free;
end;
procedure TForm1.BReadClick(Sender: TObject);
var
I:SmallInt;
F:TFileStream;
Inf:TUpdateInf;
begin
F:=TFileStream.Create('C:\1.txt',FmOpenRead);
F.ReadBuffer(Inf,SizeOf(TUpdateInf));
F.Free;
For i:=0 To 9 do
Begin
ShowMessage(Inf.FName[i]);
End;
end; |
|
#2
|
|||
|
|||
|
F.WriteBuffer(^inf,sizeof(UpdateInf));
пропустили ^. У меня вот так вот программа работает. F.ReadBuffer(^inf,sizeof(UpdateInf)); |
|
#3
|
|||
|
|||
|
Понял что проблема в массивах описанного типа... Ну почему так делать нельзя и как можно не пойму...
|
|
#4
|
|||
|
|||
|
Borland всегда что-то неправильно сама делает. И реализация возможностей, к сожалению у Borland отстает на десятки лет.
Например поддержка GDI+ была уже в Microsoft Visual Studio 2003. А даже в Borland Delphi 2009 нет такой возможности! Покажите лог компилятора! |
|
#5
|
|||
|
|||
|
ComputerMonster логи компилятора пустые если я правильно понял про какие вы логи спрашиваете, компилируеться все на ура а вот работать не хочет...
P.S: Как просматреть логи? |
|
#6
|
|||
|
|||
|
Они где внизу в компиляторе. Ладно.
Пришлите саму программу мне на личный e-mail. Я протестирую её и скажу Вам. Личный e-mail вы узнаете, нажав на ссылку ComputerMonster. Появится всплывающее меню, и пишите на e-mail. Вложение в письмо сделайте. Вложение - это прикрепление файла к письму. Вложите программу EXE, т.е. сам исполняемый файл. |
|
#7
|
|||
|
|||
|
ComputerMonster да я про эти логи и говорил, подумал может еще какие есть )))... Спасибо за подробное объяснение про почту и вложения... ну я уж не такой noob
... Щас вышлю вместе с исходниками... ![]() |