![]() |
|
|
Регистрация | << Правила форума >> | 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
![]() ![]() |