powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Немогу решит проблему. Самопроизволный вызов процедуры.
39 сообщений из 39, показаны все 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
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916878
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А одном компе Delphi 7 и DelphiXE2 может жить дружно? Друг другу нимогут мешать или есть какие то нюансы, а то в виртуалке трудно работат.
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916900
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rustam Ergashev
А одном компе Delphi 7 и DelphiXE2 может жить дружно? Друг другу нимогут мешать или есть какие то нюансы, а то в виртуалке трудно работат.


На одном компе легко живет вся линейка Дельфей одновременно.
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916907
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rustam Ergashev
А второй раз сам как то :(
Низ окна не видно
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39916965
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо винду переставить.
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39917012
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ёёёёё
Надо винду переставить.

и обязательно перешить BIOS
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39917016
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rustam Ergashev
Сохранение ответов базе и распечатка результата. Но до этого после Application.MessageBox получаю переход в RadioGroup1Click

А в "Сохранение ответов базе и распечатка результата" попадает ?
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39917017
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пройдитесь поиском по DFM, может где то ещё назначено RadioGroup1Click
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39917080
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBr,

Переход в распечатку я попадаю но до этого срабатвает процедура RadioGroup1Click. RadioGroup1Click поискал нигде нет его вызова кроме нажатие самой RadioGroup. Буду дальше тестит и искать, но пока до конца непонял Call Stack.
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39917109
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть при нажатии на YES, закрывается окно диалога и вы попадете в RadioGroup1Click, а после неё внутрь TestEnd ?
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39917175
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сдаётся мне что там где-то идёт затирание памяти и "переход" в RadioGroup1Click - тупо совпадение.
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39917261
GeraR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
begin
  Timer1.Enabled:=False;
  RadioGroup1.OnClick := Nil;
  if Application.MessageBox('Хотите завершит тест?','Тест',MB_YESNO+MB_ICONQUESTION)=IDYES   then
    begin
       TestEnd;
    end
  else Timer1.Enabled:=True;
  RadioGroup1.OnClick :=   RadioGroup1Click;
end;



Может так поможет
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39917312
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBr
То есть при нажатии на YES, закрывается окно диалога и вы попадете в RadioGroup1Click, а после неё внутрь TestEnd ?

Да, но это в том случае если я не выбераю в открытом окне вариант ответа и нажимаю на кнопку Окончание теста. (который вызивает TestEnd процедуру выше описал). Программа сама запускает RadioGroup1Click записывает ответ, вариант выбираеть из предедушего ответа и потом переходить в TestEnd.
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39917349
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит вы ищите не там где нужно.
Если после нажатия YES происходят какие то действия до вызова TestEnd то попахивает испорченной памятью
...
Рейтинг: 0 / 0
Немогу решит проблему. Самопроизволный вызов процедуры.
    #39917361
Ghost Writer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rustam Ergashev,

А в самом RadioGroup1Click что ? сразу по клику INSERT в базу ?
Вы в курсе, что RadioGroup1.ItemIndex := X - это тоже вызывает клик ?
...
Рейтинг: 0 / 0
39 сообщений из 39, показаны все 2 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Немогу решит проблему. Самопроизволный вызов процедуры.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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