powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Немогу решит проблему. Самопроизволный вызов процедуры.
25 сообщений из 39, страница 1 из 2
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916621
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал давно программу тест. Работал себе, я даже забыл о нем. Вот пришлось немного поправить код, сделать как сказать оптимизацию. Вот такой глюк и проблему не могу решить. Например есть ли общый количество вопросов 5, при ответе 4 вопроса и оставление 5 того вопроса, то при завершение теста то 5 вопрос появляется с ответом из 4 вопроса. Вот кусок где я завершаю тест.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
procedure TForm.Image3Click(Sender: TObject);
begin
  Timer1.Enabled:=False;
  if Application.MessageBox('Хотите завершит тест?','Тест',MB_YESNO+MB_ICONQUESTION)=IDYES   then
    begin
       TestEnd;
    end
  else Timer1.Enabled:=True;
end;


В форме есть RadioGroup при нажатие вызевает процедуру RadioGroup1Click, каторый записывает в базу вариант ответа. Но как видете при завершение нет его вызова но при выполнение это процедура вызевается ?!!!! после Application.MessageBox. Вот это я немогу понят, или я что то упустил?
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916624
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916632
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ли просто то после выполнения
Код: pascal
1.
if Application.MessageBox('Хотите завершит тест?','Тест',MB_YESNO+MB_ICONQUESTION)=IDYES   then


вызывается
Код: pascal
1.
procedure TForm.RadioGroup1Click(Sender: TObject);


Хотя в коде нет его вызова.
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916636
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А поставить бряку в RadioGroup1Click и посмотреть стек вызова ?
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916637
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По шагу сделал выполнение и вот что нашел еще одну ошибку выводит сообшения frxclass.pas not found и спрашиваеть указать место его прожевания. Прога Delphi XE2 и FastReport 4.11.17 работаю с базой FireBird 2.1. И Всё это в VirtualBoxе. Я в основном работаю в Delphi7 и стакими ошибками не сталкивалься. frxClass.dcu есть frxClass.res а frxClass.pas нету. Что нужно делат? Я уже туплю. Вот что нашел http://codeverge.com/embarcadero.delphi.ide/frxclass.pas-not-found/1060739 на не получается
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916641
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот какая ощибка. Это повлияеть на код. Я его даже не замечал, прога работает и отчеты печатает.
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916656
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не ошибка. Зачем делать выполнение по шагам, если нужно двигаться по стеку в обратном порядке. Искать откуда произошёл вызов
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916663
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rustam Ergashev
Вот какая ощибка. Это повлияеть на код. Я его даже не замечал, прога работает и отчеты печатает.


Отсуствие исходников не должно влиять на Вашу поблему, или подозреваете, что репорт вызывает RadioGroup1Click?
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916669
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такого еще не было, сижу ничего не понимаю. Почему прога переходить в другую процедуру? А ощибка с FastReportом здесь не причем . авторЭто не ошибка. Зачем делать выполнение по шагам, если нужно двигаться по стеку в обратном порядке. Искать откуда произошёл вызов Подробно обясните непонемаюшему этот пункт
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916675
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы хотите найти как программа попала в RadioGroup1Click.
Ставите туда Бряку (F5) и остановившись вызываете окно Стека (Ctrl+Alt+S).
Не нужно жмакать F7/F8 продолжая программу дальше.
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916676
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поймите следующее, не может процедура самопроизвольно вызываться.
Вам предлагают остановиться в той процедуре которая по Вашему мнению была самопроизвольно вызвана и посмотреть стек вызова который четко даст вам понять путь прохождения в программе до точки останова.
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916677
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот так?
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916683
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ctrl+Alt+S
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916686
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это окно Messages, а нужно окно Call Stack
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916698
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот первый раз сам вызвал
А второй раз сам как то :(
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916699
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916700
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С вашей помоши дошел то этого места.
авторЗачем делать выполнение по шагам, если нужно двигаться по стеку в обратном порядке. Искать откуда произошёл вызов
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916724
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rustam Ergashev,

Сборку сделай отладочную а не релизную.
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916732
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Project-Options-Compiling-Use debug .dcus - TRUE
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916740
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr
Project-Options-Compiling-Use debug .dcus - TRUE

Не, это перебор будет. Зачем ему системные библиотеки?
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916838
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хммм, наверно у него с bpl-ками собрано, тут я не уверен поможет ли...
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916840
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что в TestEnd ?
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916849
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBr,
А там ничего интересного
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
DMForm.dtsAnswerCorCount.ParamByName('info_id').AsInteger:=info_id;
   DMForm.dtsAnswerCorCount.Open;
   answer_correct:=DMForm.dtsAnswerCorCount.FieldByName('ans_cor').AsInteger;
   DMForm.dtsAnswerCount.ParamByName('info_id').AsInteger:=info_id;
   DMForm.dtsAnswerCount.Open;
   answer_count:=DMForm.dtsAnswerCount.FieldByName('ans_cnt').AsInteger;
   DMForm.dtsInfo.Edit;
   DMForm.dtsInfo.FieldByName('test_time_e').AsDateTime:=Time;
   DMForm.dtsInfo.FieldByName('question_correct').AsInteger:=answer_correct;
   DMForm.dtsInfo.FieldByName('question_sum').AsInteger:=answer_count;
   DMForm.dtsInfo.Post;
   DMForm.trTest.CommitRetaining;

   DMForm.dtsRepTest.Close;
   DMForm.dtsRepTest.ParamByName('id').AsInteger:=info_id;
   DMForm.dtsRepTest.Open;

   DMForm.dtsComList.Close;
   DMForm.dtsComList.ParamByName('test_id').AsInteger:=DMForm.dtsInfo.FieldByName('test_id').AsInteger;
   DMForm.dtsComList.Open;
   Top1String:= SavolForm.rpTest2.FindObject('memo2') as TfrxMemoView;
   Top1String.Text:= SavolForm.Label4.Caption;
   SavolForm.rpTest2.ShowReport;


Сохранение ответов базе и распечатка результата. Но до этого после Application.MessageBox получаю переход в RadioGroup1Click
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916856
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rustam Ergashev
Здесь я вижу хинт компилятораVariable 'buttonSelected' is declared but never used in 'TSavolForm.Image3Click'
Здесь
Rustam Ergashev
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
procedure TForm.Image3Click(Sender: TObject);
begin
  Timer1.Enabled:=False;
  if Application.MessageBox('Хотите завершит тест?','Тест',MB_YESNO+MB_ICONQUESTION)=IDYES   then
    begin
       TestEnd;
    end
  else Timer1.Enabled:=True;
end;

никакой переменной buttonSelected нет.

Давайте обсуждать реальный код, а не ваши фантазии
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916877
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,
это просто было проверка я поменял Application.MessageBox другим компонентой, в другой компоненте тоже такой глюк получил, подумал дело не в Application.MessageBox и вернул а buttonSelected от туда осталось. Потом почистил код.
...
Рейтинг: 0 / 0
25 сообщений из 39, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Немогу решит проблему. Самопроизволный вызов процедуры.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]