Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 09.08.2022
Сообщений: 69

Класс исключения SIGSEGV в файле customform.inc на строке 2326

15.09.2022, 12:35. Показов 1330. Ответов 4

Студворк — интернет-сервис помощи студентам
Добрый день! Делаю так, чтобы основная форма прогружала данные из ini файла, присваивала их глобальным переменным и после открывала другую форму. Пока пробую на пустом проекте, чтобы случайно не уронить основной. Программа состоит из практически пустой формы, вызывает тоже пустую форму, изменены размеры формы и цвет. Текст программы:

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
unit launchingcode;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, IniFiles;
 
type
 
  { TLogoform }
 
  TLogoform = class(TForm)
    LaunchingBevel: TBevel;
    LogotypeImage: TImage;
    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
    procedure FormCreate(Sender: TObject);
  private
 
  public
 
  end;
 
var
  Logoform: TLogoform;
  Ini:TIniFile;
  Version, LastVisitedAccount, AccountBlockyStats, AccountID, AccountPassword, ActivationKey:string;
//ActivationKeyApproved:string;
  EntersFirstTime, AccountLoginActive, AccountIDexists, Activation:boolean;
  OnlineStatus, OfflineStatus, NotificationsAllowed:boolean;
 
implementation
uses main;
 
{$R *.lfm}
 
{ TLogoform }
 
procedure TLogoform.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
  Ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'settings.ini');
    
  Ini.Free;
end;
 
procedure TLogoform.FormCreate(Sender: TObject);
begin
  Ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'settings.ini');
  //iniciate loading files, check online-status, then connect/not connect to servers
  //set language, check activation status, enter accounts
 
  Ini.Free;
  MainWindow.Show;
  Logoform.Hide;
end;
 
end.
При запуске выдаёт сообщение "Проект вызвал класс исключения 'External: SIGSEGV'. В файле 'include\customform.inc' на строке 2326", программа не открывается.

В customform.inc представлен следующий код:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
{------------------------------------------------------------------------------
  procedure TCustomForm.Show;
------------------------------------------------------------------------------}
procedure TCustomForm.Show;
begin
  if Application.Scaled and Scaled and (Monitor.PixelsPerInch<>PixelsPerInch) then //выделена эта строка
    AutoAdjustLayout(lapAutoAdjustForDPI, PixelsPerInch, Monitor.PixelsPerInch,
      Width, MulDiv(Width, Monitor.PixelsPerInch, PixelsPerInch));
 
  Visible := True;
  BringToFront;
end;
Кажется, проблема в размере формы, но в другом проекте, где такая же форма вызывает такую же вторую форму, но без подключения ini, всегда запускается и ни разу не выдавал ошибку. Что делать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.09.2022, 12:35
Ответы с готовыми решениями:

Проект вызвал класс исключения SIGSEGV. на строке 55
unit machine; {$mode objfpc}{$H+} interface uses Classes, SysUtils, Dialogs, Dateutils; type

Ошибка "вызвал класс исключения 'external sigsegv' на 6 строке"
Ошибка &quot;вызвал класс исключения 'external sigsegv' на 6 строке&quot; program Laba0301; uses crt; var a:array of integer; i, n,...

Класс исключения External:SIGSEGV
Здравствуйте, помогите, пожалуйста. Дело в том,что проект вызывает класс исключения External:SIGSEGV, а понять в чем дело не могу. ...

4
Модератор
4114 / 2346 / 807
Регистрация: 15.11.2015
Сообщений: 9,326
15.09.2022, 14:21
Лучший ответ Сообщение было отмечено aprilpotter912 как решение

Решение

aprilpotter912, всё правильно. На момент выполнения процедуры TLogoform.FormCreate форма MainWindow ещё не существует, и обращение к ней вызывает такую ошибку и падение программы.

Попробуй перенести этот код в событие OnShow.
1
0 / 0 / 0
Регистрация: 09.08.2022
Сообщений: 69
15.09.2022, 15:54  [ТС]
Цитата Сообщение от AzAtom Посмотреть сообщение
Попробуй перенести этот код в событие OnShow
Всё работает, спасибо!)

Добавлено через 5 минут
Да, теперь смотрю - в первый раз настройка стояла через таймер, то есть форма создавалась, отображалась, начинался таймер и по окончании открывалась вторая форма.
А в какой момент времени создаются побочные формы и фреймы?
0
Модератор
4114 / 2346 / 807
Регистрация: 15.11.2015
Сообщений: 9,326
15.09.2022, 15:58
Лучший ответ Сообщение было отмечено aprilpotter912 как решение

Решение

Цитата Сообщение от aprilpotter912 Посмотреть сообщение
в какой момент времени создаются побочные формы и фреймы?
Все формы создаются в том порядке, в котором они описаны в файле проекта (Проект - Просмотреть исходный код проекта). Событие OnCreate возникает сразу после создания этой формы, ещё до создания следующей.
После создания всех автосоздаваемых форм выполняется Application.Run, и уже тогда возникают все остальные события у форм.
1
0 / 0 / 0
Регистрация: 09.08.2022
Сообщений: 69
15.09.2022, 16:21  [ТС]
Благодарю!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.09.2022, 16:21
Помогаю со студенческими работами здесь

Проект вызвал класс исключения 'External:SIGSEGV'
Здравствуйте! Не могу понять, почему вызывается класс External. Вроде программа для работы метода Рунге-Кутта компилируется, правда отладка...

Проект вызвал класс исключения External: SIGSEGV
Здравствуйте. Помогите чем сможете. Компилятор выдает ошибку на 77 строчку не могу понять причину procedure...

Проект вызвал класс исключения external sigsegv
Привет. Возникла некая проблема, только начал работу с delphi и не совсем понимаю в чем проблема. Буду благодарен если кто разъяснит. Вот...

Проект вызвал класс исключения 'External:SIGSEGV'
Здравствуйте, столкнулся с проблемой в Lazarus. Программа создает запись о людях. Кол-во человек задает пользователь. Компиллируется...

Проект вызвал класс исключения External SIGSEGV
Доброго времени суток, пишу программу для работы с классом класс круговое кольцо свойства: внешний и внутренний диаметр операции: ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
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
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru