1 / 1 / 0
Регистрация: 03.10.2018
Сообщений: 167
1

Программа запускается, но выдает ошибку

02.12.2018, 20:34. Показов 371. Ответов 4
Метки нет (Все метки)

Начал изучать по книге "Никита Культин Основы программирования в Delphi XE" на примерах, но что то в примере не то, программа запускается, но выдает ошибку
Программа запускается, но выдает ошибку

методом исключений выяснил что дело в строках(примет с Timaje):
Pictures.Clear; // очистить список иллюстраций
Pictures.Add(aSearchRec.Name); // добавить имя файла

Pictures объявляется
var
Pictures : TStringList; // список иллюстраций

и потом встречается в процедуре
Pictures := TStringList.Create;

что не так, помогите понять
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2018, 20:34
Ответы с готовыми решениями:

Программа которая выдает платформу компьютера выдает ошибку
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Программа выдает ошибку
Программа шифрования и дешифрования RSA. Должна быть))-набирала по примеру. Выдало ошибку, как...

Программа выдает ошибку
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Программа выдает ошибку
Задание Необходимо зашифровать и расшифровать слово ЗАБАВА с помощью матрицы-ключа unit Unit1; ...

4
3218 / 1784 / 479
Регистрация: 28.02.2015
Сообщений: 3,635
02.12.2018, 20:53 2
Цитата Сообщение от Belju Посмотреть сообщение
Pictures := TStringList.Create;
Эта строка, должна быть в TForm1.FormCreate, до первого её использования .
0
1 / 1 / 0
Регистрация: 03.10.2018
Сообщений: 167
02.12.2018, 20:56  [ТС] 3
Цитата Сообщение от Constantin Cat Посмотреть сообщение
Эта строка, должна быть в TForm1.FormCreate, до первого её использования .
да, так и есть, извиняюсь что не указал сразу в какой процедуре
Delphi
1
2
3
4
5
6
  procedure TForm1.FormCreate(Sender: TObject);
     begin
  Pictures := TStringList.Create;
  Button2.Enabled := False;
  Button3.Enabled := False;
end;
0
3218 / 1784 / 479
Регистрация: 28.02.2015
Сообщений: 3,635
02.12.2018, 21:03 4
Если ошибка осталась, показывайте код.
0
1 / 1 / 0
Регистрация: 03.10.2018
Сообщений: 167
02.12.2018, 21:08  [ТС] 5
Кликните здесь для просмотра всего текста
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
procedure TForm1.Button1Click(Sender: TObject);
var
  r: integer;
   aFile : String; // файл иллюстрации
begin
  if SelectDirectory('Выберите папку', '',aPath) then
  begin
    aPath := aPath + '\';
    Form1.Caption := 'Просмотр иллюстраций - ' + aPath;
 
    // сформировать список иллюстраций
    r := FindFirst(aPath+'*.jpg',faAnyFile,aSearchRec);
 
    if r = 0 then
    // aFile := aPath + aSearchRec.Name;
    // Form1.Image1.Picture.LoadFromFile(aFile); // загрузить
     //   Scalelmage; //-установить размер компонента
 
      begin
 
        // в указанном каталоге есть JPEG-файл
        Pictures.Clear; // очистить список иллюстраций
        Pictures.Add(aSearchRec.Name); // добавить имя файла
                                       // в список иллюстраций
          (*
        //  Memo1.SetSelText(aPath);
        // получить имена остальных JPEG-файлов
           repeat
           r := FindNext(aSearchRec); // получить имя следующего файла
           if r = 0 then
              Pictures.Add(aSearchRec.Name);
        until (r <> 0);
       //    Form1.Caption := 'Просмотр иллюстраций - ' + aPath+' r= '+IntToStr(r);
 
        if Pictures.Count > 1 then
             Button3.Enabled := True;
 
        // отобразить иллюстрацию
 
         n := 0; // номер отображаемой иллюстрации
          try
 
           Form1.Caption := 'Просмотр иллюстраций - ' + aPath+' n= '+IntToStr(n);
           Form1.Image1.Picture.LoadFromFile(aPath + Pictures[n]);
           Form1.Caption := aPath + Pictures[n];
 
           except on EInvalidGraphic
               do Form1.Image1.Picture.Graphic := nil;
          //    FindClose(aSearchRec);
        end;
        if Pictures.Count = 1 then
          Button3.Enabled := False;
 
         *)
       end
 
      else begin
         // в выбранном каталоге нет JPEG-файлов
         Button2.Enabled := False;
         Button3.Enabled := False;
         Form1.Image1.Picture.Graphic := nil;
 
    end;
 
  end;
 
 end;


если рем здесь убрать
Delphi
1
2
// aFile := aPath + aSearchRec.Name;
// Form1.Image1.Picture.LoadFromFile(aFile); // загрузить
а здесь поставить
Delphi
1
2
 Pictures.Clear; // очистить список иллюстраций
 Pictures.Add(aSearchRec.Name); // добавить имя файла
то все в порядке
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2018, 21:08

Программа выдает ошибку
Здравствуйте! Заранее прошу прощения, если пишу не туда. Переносим программу на другой компьютер,...

Программа отрабатывает полностью и выдает ошибку EInvalidPointer
Добрый день! Проблема в следующем: Пишу программу на делфи и обнаружил что программа выполняется...

Программа выдает ошибку при запуске на другом компьютере
У меня программа имеет привязку к базе данных access через ADOconnection ,ADOtable ,ADOquery, и на...

При вводе более двух студентов программа выдает ошибку
программу начал делать для сортировки списка студентов, сделал процедуры ввода и вывода списка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.