Перейти к содержимому

External sigsegv lazarus что за ошибка

  • автор:

Lazarus ошибка External: SIGSEGV [закрыт]

Закрыт. Этот вопрос не по теме. Ответы на него в данный момент не принимаются.

Вопрос вызван проблемой, которая больше не воспроизводится, или опечаткой. Хотя похожие вопросы могут быть уместны на этом сайте, решение для этого вопроса вряд ли поможет будущим посетителям. Обычно можно избежать подобных вопросов написанием и исследованием минимальной программы для воспроизведения проблемы до публикации вопроса.

Закрыт 7 лет назад .

unit Unit5;  interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls, Buttons, StdCtrls; type uk=^O; O=object data:integer; next:uk; end; type < TForm5 >TForm5 = class(TForm) BitBtn1: TBitBtn; BitBtn2: TBitBtn; Button1: TButton; Edit1: TEdit; Image1: TImage; Image10: TImage; Image11: TImage; Image2: TImage; Image3: TImage; Image4: TImage; Image5: TImage; Image6: TImage; Image7: TImage; Image8: TImage; Image9: TImage; procedure BitBtn1Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Edit1Change(Sender: TObject); procedure FormCreate(Sender: TObject); procedure closedln(k:integer); procedure CreateLol(s: string); procedure CreateStack(first: uk; el: integer); procedure printi(k,n:integer); private < private declarations >public < public declarations >end; var Form5: TForm5; first, second, third : uk; implementation uses Unit4;  < TForm5 >procedure TForm5.BitBtn1Click(Sender: TObject); begin form5.Close; end; procedure TForm5.closedln(k:integer); //удаление карты с формы begin case k of 1:Image2.Visible:=false; 2:Image3.Visible:=false; 3:Image4.Visible:=false; 4:Image5.Visible:=false; 5:Image6.Visible:=false; 6:Image7.Visible:=false; 7:Image8.Visible:=false; 8:Image9.Visible:=false; 9:Image10.Visible:=false; 10:Image11.Visible:=false; end; end; procedure TForm5.printi(k, n : integer); //вывод карты в положенном месте var s1:string; begin Application.ProcessMessages(); s1 := inttostr(n); s1 := s1 +'.png'; //Edit1.Text := 'printi'; case k of 1:begin Image2.Picture.LoadFromFile(s1); Image2.Visible:=true; end; 2:begin Image3.Picture.LoadFromFile(s1); Image3.Visible:=true; end; 3:begin Image4.Picture.LoadFromFile(s1); Image4.Visible:=true; end; 4:begin Image5.Picture.LoadFromFile(s1); Image5.Visible:=true; end; 5:begin Image6.Picture.LoadFromFile(s1); Image6.Visible:=true; end; 6:begin Image7.Picture.LoadFromFile(s1); Image7.Visible:=true; end; 7:begin Image8.Picture.LoadFromFile(s1); Image8.Visible:=true; end; 8:begin Image9.Picture.LoadFromFile(s1); Image9.Visible:=true; end; 9:begin Image10.Picture.LoadFromFile(s1); Image10.Visible:=true; end; 10:begin Image11.Picture.LoadFromFile(s1); Image11.Visible:=true; end; end; end; procedure TForm5.CreateLol(s: string); var k, result: integer; begin Application.ProcessMessages(); k:=0; result:=0; repeat Application.ProcessMessages(); k+=1; if (s[k]='1') and (k+1<=length(s)) and (s[k+1]='0') then begin CreateStack(first,10); k+=1; result+=1; printi(result,10); end else if (s[k] in ['0'..'9']) then begin CreateStack(first,StrToInt(s[k])); result+=1; printi(result,StrToInt(s[k])); end; Application.ProcessMessages(); until k>=length(s); end; procedure TForm5.CreateStack(first: uk; el: integer); var u: uk; begin Application.ProcessMessages(); new(u); if first = nil then begin u^.next := nil; u^.data := el; Edit1.Text := InttoStr(u^.data); end else begin u^.data := el; u^.next := first; Edit1.Text := InttoStr(u^.data); end; first := u; end; procedure TForm5.Button1Click(Sender: TObject); var i: integer; s: string; begin for i := 1 to 10 do closedln(i); s := Unit4.s; Application.ProcessMessages(); CreateLol(s); end; procedure TForm5.Edit1Change(Sender: TObject); begin end; procedure TForm5.FormCreate(Sender: TObject); var i: integer; s: string; begin Image2.Visible:=false; Image3.Visible:=false; Image4.Visible:=false; Image5.Visible:=false; Image6.Visible:=false; Image7.Visible:=false; Image8.Visible:=false; Image9.Visible:=false; Image10.Visible:=false; Image11.Visible:=false; for i := 1 to 10 do closedln(i); s := Unit4.s; Edit1.Text := 'ЛОЛ'; CreateLol(s); end; end. 

введите сюда описание изображения

Код формы, в которой ошибка. s := Unit4.s; Получаем непустую из цифр через пробел строку, тут ошибок нет. При запуске ошибка External: SIGSEGV.

External sigsegv lazarus что за ошибка

Нравится ресурс?

Название темы должно быть информативным !
Прежде чем задать вопрос, воспользуйтесь Поиском . и проверьте в FAQ (ЧАВО) Паскаля
Чтобы получить вразумительный ответ, подробно опишите проблему: что надо сделать, что не получается и номер ошибки (если есть), которую выводит компилятор. Для вставки кода ваших программ используйте, пожалуйста, кнопку СODE=pas или выпадающий список СODE для других языков (подсветка синтаксиса). [!] Как правильно задавать вопросы | Руководство по языку B.Pascal 7 & Objects/LR | Borland Pascal. Руководство пользователя

Ошибка в Lazarus SIGSEGV (Xp)

У меня написана прога в Лазарусе, но при запуске он выдает ошибку Project raised exception class ‘External: SIGSEGV’ и не дает запускать по шагово сразу её и выводит, помогите, как исправить.

unit Unit1;  interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls, Buttons; type < TForm1 >TForm1 = class(TForm) BitBtn1: TBitBtn; Button1: TButton; ComboBox1: TComboBox; ComboBox2: TComboBox; Edit1: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Memo1: TMemo; Panel1: TPanel; Panel2: TPanel; RadioGroup1: TRadioGroup; ScrollBar1: TScrollBar; procedure Button1Click(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: char); procedure ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode; var ScrollPos: Integer); private < private declarations >public < public declarations >end; var Form1: TForm1; implementation < TForm1 >procedure TForm1.Button1Click(Sender: TObject); var rast: real; cena: real; potr: real; suma: real; obsuma: real; skidka: real; stroka: string; begin rast:=StrToFloat(Edit1.Text); cena:=StrToInt(ComboBox1.Text); potr:=StrToFloat(ComboBox2.Text); suma:=(rast/100) * potr * cena; suma:=suma*2; If RadioGroup1.ItemIndex=1 then Begin stroka:='Поездка на дачу и обратно обойдется Вам в '; Memo1.Lines.Add(stroka + FormatFloat('####.## рублей ',suma)); End else Begin Stroka:='Поездка на дачу и обратно(со скидкой в 5%)обойдется Вам в '; skidka:=suma*0.05; obsuma:=suma-skidka; Memo1.Lines.Add(stroka + FormatFloat('####.## рублей ',obsuma)); End; end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char); begin If not (Key in ['0'..'9', #8]) then Key:=chr(0); end; procedure TForm1.ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode; var ScrollPos: Integer); begin ComboBox1.Text:=IntToStr(ScrollBar1.Position); end; initialization end.
dyavolenok_shef
Посмотреть профиль
Отправить персональное сообщение для dyavolenok_shef
Отправить Email для dyavolenok_shef
Найти все сообщения от dyavolenok_shef

forum.lissyara.su

Иногда, правильный удар в бубен, приводит в чувство целое племя.

Ошибка «External: sigsegv» при нажатии на кнопку

Программирование на Pascal

Модератор: trubb

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.

  • Отправить тему по email
  • Версия для печати

Первое новое сообщение • 2 сообщения • Страница 1 из 1
голова проходил мимо Сообщения: 1 Зарегистрирован: 2015-06-17 21:54:04

Ошибка «External: sigsegv» при нажатии на кнопку

  • Пожаловаться на это сообщение
  • Цитата

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

procedure TfMain.bAddClick(Sender: TObject); begin //очищаем поля, если там что-то есть: fEdit.bl.Text:= ''; fEdit.grbl.Text:= ''; fEdit.zakaz.Text:= ''; fEdit.klient.Text:= ''; fEdit.stol.Text:= ''; fEdit.cena.Text:= ''; //устанавливаем ModalResult редактора в mrNone: fEdit.ModalResult:= mrNone; //теперь выводим форму: fEdit.ShowModal; //если пользователь ничего не ввел - выходим: if (fEdit.bl.Text= '')then exit; //если пользователь не нажал "Сохранить" - выходим: if fEdit.ModalResult <> mrOk then exit; //иначе добавляем в сетку строку, и заполняем её: SG.RowCount:= SG.RowCount + 1; SG.Cells[0, SG.RowCount-1]:= fEdit.bl.Text; SG.Cells[1, SG.RowCount-1]:= fEdit.grbl.Text; SG.Cells[2, SG.RowCount-1]:= fEdit.zakaz.Text; SG.Cells[3, SG.RowCount-1]:= fEdit.klient.Text; SG.Cells[4, SG.RowCount-1]:= fEdit.stol.Text; SG.Cells[4, SG.RowCount-1]:= fEdit.cena.Text; end;

Последний раз редактировалось f_andrey 2015-06-17 23:29:53, всего редактировалось 1 раз.
Причина: Автору. пожалуйста, оформляйте сообщение по человечески.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *