Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 15.05.2016
Сообщений: 4

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

15.05.2016, 23:33. Показов 713. Ответов 9

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!
Мне надо сделать программу. Я не знаю язык Делфи. Учусь по самоучителям в инете.
И у меня возникла проблема. У меня есть главная форма, у нее есть вкладка Справка--О программе. И когда я нажимаю "о программе", у меня выдается ошибка, такого типа:
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 007B90DA in module 'Project1.exe'. Read of address 00000004'.-//
Не знаю как от нее избавиться.
Помогите, пожалуйста.

Вот код для основной формы:
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
unit Form1_general;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, StdCtrls, Menus;
 
type
  TForm1 = class(TForm)
    lbl1: TLabel;
    lbl2: TLabel;
    img1: TImage;
    lbl3: TLabel;
    mm1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    procedure N2Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 uses Form2_program;
{$R *.dfm}
procedure TForm1.N2Click(Sender: TObject);
begin
Form1.Close;
end;
 
procedure TForm1.N4Click(Sender: TObject);
begin
Form2.Show;
end;
 
end.
Код для формы "О ПРОГРАММЕ"
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
unit Form2_program;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, jpeg, ExtCtrls;
 
type
  TForm2 = class(TForm)
    Image1: TImage;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form2: TForm2;
 
implementation
 
{$R *.dfm}
 
procedure TForm2.btn1Click(Sender: TObject);
begin
Form2.Close;
end;
 
end.
После компиляции, выпадает ошибка. Я нажимаю ОК. И открывается код источника:
program GKM;

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
uses
  Forms,
  Form1_general in 'Form1_general.pas' {Form1},
  Form2_program in 'Form2_program.pas' {Form2};
 
{$R *.res}
 
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
[B][U]end.[/U][/B]
и появляется зеленая стрелка, указывающая на последнюю строчку в коде: END.

----
Надеюсь я корректно описала свою проблему. Извините за неумелое использование терминов.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.05.2016, 23:33
Ответы с готовыми решениями:

Подскажите почему выдается ошибка компиляции
#include <iostream> using namespace std; int main() { cout << "Hello there.\n"; cout << "Here is 5: " << 5 << "\n"; cout...

Почему не собирается программа? Подскажите что не так?
File.h #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string.h> using namespace std; class File { private: ...

Подскажите почему не выводиться итоговое число , не могу понять что не так сделала
1. Дано натуральное число N. Получить число M, записанное теми же цифрами в обратном порядке. #include "stdafx.h" ...

9
 Аватар для BOGG ART
592 / 459 / 147
Регистрация: 09.12.2013
Сообщений: 2,385
Записей в блоге: 2
15.05.2016, 23:41
У вас куда-то делось такое:
Delphi
1
Application.CreateForm(TForm2, Form2);
После такой же строки но с единицами.
0
0 / 0 / 0
Регистрация: 15.05.2016
Сообщений: 4
15.05.2016, 23:49  [ТС]
Я ее удалила, так как если ее оставить, то при открытии программы, сразу две формы запускаются. А мне надо запустить вторую форму, только когда я нажму на вкладку "О программе"..Как мне быть??
0
 Аватар для BOGG ART
592 / 459 / 147
Регистрация: 09.12.2013
Сообщений: 2,385
Записей в блоге: 2
15.05.2016, 23:56
Зря, эта строка там должна быть. Именно её удаление привело к ошибке.

Окно Form1 - главное, окно Form2 - дополнительное. Дополнительное не должно появляться при запуске без явной команды. Возможно вы случайно поменяли свойство?
В инспекторе объектов: Form2 -> Visible == False должно быть. Да и у главной тоже должно быть False.

Кстати, логически правильнее при нажатии "о программе" делать так:
Delphi
1
Form2.ShowModal;
0
0 / 0 / 0
Регистрация: 15.05.2016
Сообщений: 4
16.05.2016, 00:12  [ТС]
Спасибо!!! Я мучилась несколько часов, чтобы разобраться. С вами все получилось. Но вопрос на будущее:
Я в самоучителе вычитала, что для доп. форм необходимо устанавливать настройку: FormStyle=FsMDIChild
При этой настройке не удается присвоить Visible--False. Тогда не надо для доп форм устанавливать вот это: FormStyle=FsMDIChild??
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,608
16.05.2016, 00:22
Цитата Сообщение от Lernt Посмотреть сообщение
Я в самоучителе вычитала, что для доп. форм необходимо устанавливать настройку: FormStyle=FsMDIChild
При этой настройке не удается присвоить Visible--False. Тогда не надо для доп форм устанавливать вот это: FormStyle=FsMDIChild??
Для "доп.форм" не надо. MDI - это аббревиатура от MultiDocument Interface. Т.е. предполагается что есть одно главное окно, в котором можно открыть много одинаковых дочерних окон для работы с некими документами одного типа. Пример тому программы Word и Excel. (Хотя они обе уже давно и достаточно далеко ушли от стандарта MDI). А "доп.окна" типа окна "О программе" ни в коем случае не должны иметь стиль FsMDIChild !
0
 Аватар для BOGG ART
592 / 459 / 147
Регистрация: 09.12.2013
Сообщений: 2,385
Записей в блоге: 2
16.05.2016, 00:36
Цитата Сообщение от Lernt Посмотреть сообщение
необходимо устанавливать настройку: FormStyle=FsMDIChild
Это не для дополнительных, а для назовём их "внутренних" или "дочерних".
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,608
16.05.2016, 00:47
Цитата Сообщение от BOGG ART Посмотреть сообщение
Это не для дополнительных, а для назовём их "внутренних" или "дочерних".
Не надо придумывать таким окнам своих названий. Тем более не объясняющие их суть. Это окна отдельных документов в "многодокументном интерфейсе". Не более и не менее. А "внутренними" или "дочерними" окнами можно назвать дофига чего.
0
 Аватар для BOGG ART
592 / 459 / 147
Регистрация: 09.12.2013
Сообщений: 2,385
Записей в блоге: 2
16.05.2016, 00:52
Так новичку будет понятнее. Позже само заместится офф.терминами.
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,608
16.05.2016, 00:56
Цитата Сообщение от BOGG ART Посмотреть сообщение
Так новичку будет понятнее.
Нет. Он только ещё больше запутается. Возможно в его самоучителе и написано было что-то подобное. Из-за чего он и решил что нужно этой форме поставить такой стиль.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.05.2016, 00:56
Помогаю со студенческими работами здесь

Что не так в моем коде?
Код для расчета этой формулы. Делал по примеру. Запускаю, а вместо чисел inf. #include<iostream> ...

ошибка номер...да их много. подскажите что не так.
дано расчетно-графическое задание: написать программу на языке с++ в среде MS Visual Studio 2008: написать программу, которая будет...

Подскажите, что обновить на моем ПК
Всем привет, ребят не особо разбираюсь в пк и железе, подскажите что необходимо заменить на моем пу. Игры не тянут

Посмотрите, пожайлуста, что не так в моем коде
Условие задачи (на проценты): перед началом половодья уровень воды в реке составлял Н м. В половодье каждый час уровень воды рос на Р% от...

Почему выдается ошибка: подматрица задана некорректно?
Здравствуйте, товарищи Не могу понять возникновения следующей ошибки Ниже представлен код: clc; clear;clf; a=0; R=1740; ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru