Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.05.2017, 13:06
MursikSix MursikSix вне форума
Прохожий
 
Регистрация: 24.05.2017
Сообщения: 2
Версия Delphi: Delphi 2007
Репутация: 10
По умолчанию Не получается создать картинку через текстовый документ, ошибка

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  
Старый 24.05.2017, 19:06
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,003
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну а кто объекты в элементах массива 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;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:28.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter