Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
105 / 104 / 29
Регистрация: 15.01.2011
Сообщений: 515

SaveDialog и ошибка External: SIGSEGV

09.04.2016, 09:27. Показов 1872. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Столкнулся с непонятным поведением в Lazarus, а именно рандомным появлением исключения External: SIGSEGV при вызове диалога сохранения файла с помощью компонента TSaveDialog. То есть совершаю последовательно действий по вызову процедуры сохранения и получаю ошибку. Повторяю эту же последовательность - нет ошибки. Но ошибка может выскочить при другой последовательности. Проявляется при запуске программы из среды. Если запускать исполняемый файл отдельно, то такой ошибки не возникает при любых последовательностях вызовы процедуры сохранения. С чем это может быть связано?

Lazarus 1.6, Win7.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.04.2016, 09:27
Ответы с готовыми решениями:

Ненавистная ошибка External:SIGSEGV
Программа банальна. Два элемента Memo, создается матрица, выводится в Memo1, потом идет обработка матрицы(добавляется столбец в Memo1, где...

Ошибка External:sigsegv, что делать?
unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,...

Ошибка: raised exception class 'External: SIGSEGV'
Мой код проходит компиляцию, но при запуске .exe после того, как нажимаю на кнопку, мной созданную и обработанную, выходит такое сообщение:...

9
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 906
Записей в блоге: 16
09.04.2016, 16:48
Исключение возникает при старте диалога до выбора файла ?
0
105 / 104 / 29
Регистрация: 15.01.2011
Сообщений: 515
09.04.2016, 18:53  [ТС]
ВитГо, да, до выбора. То есть я несколько раз подряд пробую сохранить файл, и ошибка выскакивает на некоторой "рандомной" попытке сохранения. Может несколько раз нормально отработать, а потом выбросить исключение, а может сразу выбросить исключение. Но исключение стабильно возникает при вызове метода Execute, то есть файл, строго говоря, ещё не выбран (на текущей попытке). Хотя перед вызовом Execute я присваиваю свойству FileName строку с именем файла, если файл уже сохранялся ранее, или пустую строку, если сохраняется впервые.

Добавлено через 11 минут
Кстати, сейчас, кое-что поменял. Убрал с формы компонент TSaveDialog и стал инициализировать переменную этого типа динамически:
Delphi
1
2
3
SaveDialog:=TSaveDialog.Create(Application);
...
SaveDialog.Free;
Вроде пока не выбрасывает исключение.
0
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 906
Записей в блоге: 16
09.04.2016, 19:40
у меня было подобное, решил перестановкой среды, и при первом запуске среды выбрал путь по умолчанию не точку а полный путь до исполняемого файла среды..

моя тема Ошибка при OpenDialog1.execute
0
394 / 194 / 48
Регистрация: 11.07.2013
Сообщений: 1,210
09.04.2016, 20:42
А какая у вас версия и нет ли где-нибудь русских букв?
0
105 / 104 / 29
Регистрация: 15.01.2011
Сообщений: 515
09.04.2016, 21:08  [ТС]
shyub, я выше писал - версия 1.6. Сам Lazarus установлен в папку Lazarus на диске D. В пути к приложению русские буквы есть. В пути к сохраняемому файлу - по разному. Тестировал и с цифрами, и с латиницей, и с кириллицей. Закономерности не обнаружил.
0
75 / 66 / 12
Регистрация: 09.02.2016
Сообщений: 906
Записей в блоге: 16
09.04.2016, 22:57
у меня не было русских букв в путях - но ошибка появлялась...
может быть еще имя пользователя должно быть только из латиницы (архив установки распаковывается в темповую папку - может быть потом используется как то эта темповая папка при старте диалога?)

у меня тоже лазарус 1.6
0
394 / 194 / 48
Регистрация: 11.07.2013
Сообщений: 1,210
10.04.2016, 06:34
Вполне возможно. Если имя пользователя задано русскими буквами, то лучше в "переменных среды" ОС задать папки TEMP и TMP на диске C:
0
105 / 104 / 29
Регистрация: 15.01.2011
Сообщений: 515
10.04.2016, 07:18  [ТС]
ВитГо, у меня имя пользователя задано латиницей. Да и как-то непохоже на проблемы с кириллицей. Исключение возникало бы постоянно, а оно то появляется, то нет.
0
394 / 194 / 48
Регистрация: 11.07.2013
Сообщений: 1,210
10.04.2016, 07:59
Единственный выход - попробуйте переустановить Лазарус. Не исключено, что это какая-то проблема связанная с установкой. Если всё сделано правильно, то Лазарус (тем более 1.6) таких ошибок давать не должен.

Добавлено через 3 минуты
Ещё было бы не плохо, если есть такая возможность, протестировать приложение на другом компе. Буквально на днях была похожая проблема - на Win-7 всё работало, а на Win-XP слетала. Оказалась проблема в коде.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.04.2016, 07:59
Помогаю со студенческими работами здесь

Возникла такая вот ошибка: External: SIGSEGV
Приветствую. Возникла такая вот ошибка; В яем ошибка не понимаю. Помогите пожалуйсто unit Unit1; {$mode objfpc}{$H+} ...

Ошибка: Проект вызвал класс исключения External:SIGSEGV
Привет! Работаю над приложением для работы с оценками учеников. Решил начать с раздела настроек. При вводе кол-ва оценок учащихся проект...

Ошибка "External: sigsegv" при нажатии на кнопку
Вылетает ошибка при нажатии на кнопку- класс исключения "External: sigsegv". помогите пожалуйста завтра надо сдать курсач или отчислят. ...

Ошибка "External: SIGSEGV" в классе TControl
У меня при работе программы появляется ошибка. Что она означает?

Что за ошибка "External: SIGSEGV"?
Подскажите как избавится от ошибки External:SIGSEGV? она возникает вот здесь, т.е. при самой обрисовке ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
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
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru