Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 12.05.2013
Сообщений: 6
1

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

12.05.2013, 21:20. Показов 1556. Ответов 7
Метки нет (Все метки)

вот код, скрин ошибки прилагаю
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
unit UGraphEdit1;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls,
  Forms, Dialogs, Buttons, ExtCtrls, Menus, ExtDlgs;
 
type
TForm1 = class(TForm)
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    Image4: TImage;
    SBBrush: TSpeedButton;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    MOpen: TMenuItem;
    N2: TMenuItem;
    Undo: TMenuItem;
    OpenPictureDialog1: TOpenPictureDialog;
    SBColor: TSpeedButton;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure MOpenClick(Sender: TObject);
    procedure UndoClick(Sender: TObject);
    procedure SBBrushClick(Sender: TObject);
    procedure Image3MouseDown(Sender: TObject; Button: TMouseButton; Shift:
      TShiftState; X, Y: Integer);
  private { Private declarations }
  public { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.DFM}
var
  BitMap: TBitMap;
    //ïåðåìåííàÿ äëÿ ñîõðàíåíèÿ èçîáðàæåíèÿ, åñëè åãî íóæíî áóäåò âîñòàíîâèòü êîìàíäîé îòìåíèòü
 
procedure
  TForm1.FormCreate(Sender: TObject);
var
  HW, I: integer;
begin
  BitMap := TBitMap.Create;
  {çàäàíèå ñâîéñòâ êèñòè îñíîâíîãî è
  âñïîìîãàòåëüíîãî öâåòîâ}
  Image1.Canvas.Brush.Color := clBlack;
  Image2.Canvas.Brush.Color := clWhite;
  {çàïîëíåíèå îêîí îñíîâíîãî è âñïîìîãàòåëüíîãî
  öâåòîâ}
  with
    Image1.Canvas do
    FillRect(Rect(0, 0, Width, Height));
  with Image2.Canvas do
    FillRect(Rect(0, 0, Width, Height));
  {çàäàíèå øèðèíû ýëåìåíòà ïàëèòðû
  öâåòîâ}
  HW := Image4.Width
    div 10;
  {çàêðàñêà ýëåìåíòîâ ïàëèòðû öâåòîâ}
  with
    Image4.Canvas do
    for I := 1 to 10 do
    begin
      case I of
 
        1: Brush.Color := clBlack;
        2: Brush.Color := clAqua;
        3: Brush.Color := clBlue;
        4: Brush.Color := clFuchsia;
        5: Brush.Color := clGreen;
        6: Brush.Color := clLime;
        7: Brush.Color := clMaroon;
        8: Brush.Color := clRed;
        9: Brush.Color := clYellow;
        10: Brush.Color := clWhite;
      end;
      Rectangle((I - 1) * HW, 0, I * HW, Height);
    end;
 
{ðèñîâàíèå êðåñòà íà õîëñòå – òîëüêî äëÿ
òåñòèðîâàíèÿ}
 
             with Image3 do
begin
  Canvas.MoveTo(0, 0);
  Canvas.LineTo(Width, Height);
  Canvas.MoveTo(0, Height);
  Canvas.LineTo(Width, 0);
end;
BitMap.Assign(Image3.Picture);
end;
 
procedure TForm1.FormDestroy(Sender:
  TObject);
begin
  BitMap.Free;
end;
 
procedure TForm1.MOpenClick(Sender:
  TObject);
begin
  if OpenPictureDialog1.Execute then
  begin
    Image3.Picture.LoadFromFile(OpenPictureDialog1.FileName);
    BitMap.Assign(Image3.Picture);
  end;
end;
 
procedure TForm1.UndoClick(Sender:
  TObject);
begin
  Image3.Picture.Assign(BitMap);
end;
 
procedure
  TForm1.SBBrushClick(Sender: TObject);
begin
  if (Sender as TSpeedButton).Down then
    BitMap.Assign(Image3.Picture);
end;
 
procedure
  TForm1.Image3MouseDown(Sender: TObject; Button: TMouseButton; Shift:
  TShiftState; X, Y: Integer);
begin
  if (Sender = Image4) or SBColor.Down then
    {ðåæèì óñòàíîâêè îñíîâíîãî è âñïîìîãàòåëüíîãî
    öâåòîâ}
  begin
    if (Button = mbLeft) then
      with Image1.Canvas do
      begin
        {óñòàíîâêà îñíîâíîãî
        öâåòà}
        Brush.Color := (Sender as
          TImage).Canvas.Pixels[X, Y];
        FillRect(Rect(0, 0, Width, Height));
      end
    else
      with Image2.Canvas do
      begin
     
        Brush.Color := (Sender as
          TImage).Canvas.Pixels[X, Y];
        FillRect(Rect(0, 0, Width, Height));
      end;
  end
  else if SBBrush.Down then
    with Image3.Canvas do
    begin
      {ðåæèì çàêðàñêè óêàçàííîé îáëàñòè
      õîëñòà}
      if
        Button = mbLeft then
        Brush.Color := Image1.Canvas.Brush.Color
      else
        Brush.Color := Image2.Canvas.Brush.Color;
      FloodFill(X, Y, Pixels[X, Y], fsSurface);
    end;
end;
end.
0

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

Миниатюры
При компиляции ошибок нет,но при запуске выдает ошибку. В чем причина?  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2013, 21:20
Ответы с готовыми решениями:

при компиляции выдает что нет ошибок, при запуске самой программы не запускается
Здраствуйте, помогите пожалуйста с программой. при компиляции выдает что нет ошибок, при запуске...

Ребят, выдает ошибку при открытии формы . В чем может быть причина?
Открываю БД, и выдает ошибку при открытии формы "Список клиентов", пишет, что "имя формы содержит...

Подскажите пожалуйста в чем может быть трабл при компиляции класса выдает ошибку
Подскажите пожалуйста в чем может быть проблема: при компиляции класса выдает ошибку:...

При запуске из среды программа работает, при запуске выполняемого файла выдает ошибку
Добавлено через 1 минуту 35 секунд как исправить ошибки в названии темы? там должно было быть...

7
117 / 117 / 2
Регистрация: 29.01.2013
Сообщений: 437
12.05.2013, 23:05 2
chertyaga007, проверь пошагово (F7) в какой строке ошибка. Где оно видит TOpenDialog не понятно...
0
263 / 109 / 26
Регистрация: 16.03.2013
Сообщений: 272
13.05.2013, 01:03 3
Цитата Сообщение от Fenix_dragon Посмотреть сообщение
Где оно видит TOpenDialog не понятно...
Как раз таки это понятно, TOpenPictureDialog потомок TOpenDialog'а.

Добавлено через 17 минут
chertyaga007, проверь есть ли у тебя в делфи TOpenDialog? (Проверить можно так: меню View->Component List вводишь TOpenDialog)
Если действительно нет - нужно разбираться почему.
0
117 / 117 / 2
Регистрация: 29.01.2013
Сообщений: 437
13.05.2013, 01:05 4
ProRockX, если есть, то тем более странно. Dialogs то подключён
0
0 / 0 / 0
Регистрация: 12.05.2013
Сообщений: 6
13.05.2013, 13:15  [ТС] 5
Цитата Сообщение от Fenix_dragon Посмотреть сообщение
ProRockX, если есть, то тем более странно. Dialogs то подключён
Проверил,есть. Да и не смог бы я тогда(как мне кажется) добавить его на форму.
0
0 / 0 / 0
Регистрация: 12.05.2013
Сообщений: 6
13.05.2013, 13:23  [ТС] 6
Цитата Сообщение от ProRockX Посмотреть сообщение
Как раз таки это понятно, TOpenPictureDialog потомок TOpenDialog'а.

Добавлено через 17 минут
chertyaga007, проверь есть ли у тебя в делфи TOpenDialog? (Проверить можно так: меню View->Component List вводишь TOpenDialog)
Если действительно нет - нужно разбираться почему.
ну может что то не правильно понял. но у меня и то, и то есть на форме. вот скриншот на всякий случай самой формы и добавленных элементов.
0
Миниатюры
При компиляции ошибок нет,но при запуске выдает ошибку. В чем причина?  
421 / 351 / 19
Регистрация: 14.05.2012
Сообщений: 1,437
13.05.2013, 13:32 7
могу ошибаться но не хватает этой строки
OpenDialog1: TOpenDialog; между 9 и 20 стракой
1
0 / 0 / 0
Регистрация: 12.05.2013
Сообщений: 6
13.05.2013, 15:15  [ТС] 8
Цитата Сообщение от Санек25 Посмотреть сообщение
могу ошибаться но не хватает этой строки
OpenDialog1: TOpenDialog; между 9 и 20 стракой
да,точно. просто невнимательность... + к репе кинул. тема закрыта =)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2013, 15:15

Программа ошибок не выдает, но при запуске не работает
project project1.exe raised exception dass EAccessViolation with message Access Violation at...

При компиляции программа не выдаёт ошибок, но в итоге ничего не может сделать
Добрый день! Пишу программу на Delphi. Почему-то при запуске появляется форма со всеми...

При компиляции проекта из нескольких файлов Visual Studio выдает множество ошибок
Здравствуйте! Долго маюсь с данной проблемой, искал на форуме и поисковых системах, но ответа не...

при компиляции выдает ошибку
Подскажите, такой вопрос, пытаюсь скомпилировать программу, а мне выдает Main.pas(48): File not...


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

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

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