|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Не получается создать картинку через текстовый документ, ошибка
access violation at address 0046a978 in module project1.exe'. Read of address 000000198 Вот это ошибка вылетает при открытии.
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls; type TForm1 = class(TForm) Image1: TImage; Timer1: TTimer; Image7: TImage; Image2: TImage; procedure FormCreate(Sender: TObject); procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; vx,vy,x,y,g,xmario,xfona:integer; vv:integer; s:string; a:array[0..20] of TImage; a1:array[0..20] of integer; i,j:integer; f:TextFile; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin vx:=0; vy:=0; x:=0; y:=0; vv:=50; g:=1; AssignFile(f, 'Block.txt'); reset(f); for i:=1 to 20 do readln(f,a1[i]); closefile(f); //a[1]:=TImage.Create(Image2); end; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin If (key=68) then Image1.Left:=Image1.Left+10; If (key=65) then Image1.Left:=Image1.Left-10; if (key=32) then begin vy:=-10; // vx:=20 end; a[1].Picture.LoadFromFile('c:\games\1.jpg'); a[1].Left:=200; a[1].top:=200; a[1].Visible:=true; Последний раз редактировалось lmikle, 24.05.2017 в 19:01. |
#2
|
|||
|
|||
Ну а кто объекты в элементах массива a будет за тебя создавать?
Уж как минимум: Код:
procedure TForm1.FormCreate(Sender: TObject); begin vx:=0; vy:=0; x:=0; y:=0; vv:=50; g:=1; AssignFile(f, 'Block.txt'); reset(f); for i:=1 to 20 do begin readln(f,a1[i]); a[i]:=TImage.Create(Self); a[i].Parent := Self; end; closefile(f); end; |