Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2015, 11:48   #11
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию

Вот так не будет ошибки

Код:
procedure TForm11.sSpeedButton2Click(Sender: TObject);
var
  Form:TForm33;
begin
{...}
if (result=8) then begin
Form:=TForm33.Create(nil);
Form.Image1.Picture.Create.LoadFromFile('greet/right.jpg');
Form.sLabel1.Caption:='Вы набрали '+inttostr(result)+' баллов';
Form.Caption:='Здорово! Вы молодец!';
Form.sLabel1.Font.Color:=clWhite;
Form.sLabel1.Left:=round((Form.ClientWidth-Form.sLabel1.Width)/2);
Form.ShowModal;
Form.Free;
end;
Close;
end;
Если ошибка все же есть, значит где-то обращаетесь к несуществующему объекту.

Попробуйте закомментировать строчку
Код:
Form.Image1.Picture.Create.LoadFromFile('greet/right.jpg');
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru
grominfo вне форума Ответить с цитированием
Старый 05.01.2015, 20:24   #12
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию

Цитата:
Сообщение от Slym Посмотреть сообщение
Код:
Form33.Image1.Picture.Create.LoadFromFile('greet/right.jpg');
что-то тут лишнее
Забавно. Это проблему я уже давно решил, но на этот явный косяк даже не обратил внимания. Откуда там взялся Криейт - ума не приложу, честно)
Интересный проект по изучению английского:
Английский в формате путешествия по США
Dennis777 вне форума Ответить с цитированием
Старый 05.01.2015, 20:31   #13
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию

А теперь мне стало и вправду очень интересно.
Сейчас обратил внимание - проверил, оно все равно работает, даже не смотря на эту строчку.

Вопрос - почему? Более того, судя по всему, я ошибся где-то в самом начале, а потом разнес этот бред по 10ке форм. Но оно все равно нормально работает и обрабатывает...
Интересный проект по изучению английского:
Английский в формате путешествия по США
Dennis777 вне форума Ответить с цитированием
Старый 05.01.2015, 22:50   #14
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию

Цитата:
Сообщение от Dennis777 Посмотреть сообщение
А теперь мне стало и вправду очень интересно.
Сейчас обратил внимание - проверил, оно все равно работает, даже не смотря на эту строчку.

Вопрос - почему? Более того, судя по всему, я ошибся где-то в самом начале, а потом разнес этот бред по 10ке форм. Но оно все равно нормально работает и обрабатывает...
Значит дело было не в форме, а в другом объекте, который где-то либо не создавался, либо уничтожался. Нужно пошагово отлаживать программу
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru
grominfo вне форума Ответить с цитированием
Старый 05.01.2015, 23:32   #15
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию

Дело было именно в форме, потому что до этого, я использовал просто Close, вместо Formxx.Close/ После того, как сменил - перестало выскакивать.

Но все-таки, я не могу понять, почему нормально загружается картинка в этот имейдж?)

А форум все-таки, клевая штука. Глаз настолько затерся, что не замечает порой очевидных ляпов.
Интересный проект по изучению английского:
Английский в формате путешествия по США
Dennis777 вне форума Ответить с цитированием
Старый 06.01.2015, 00:59   #16
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию

Код:
Дело было именно в форме, потому что до этого, я использовал просто Close, вместо Formxx.Close/ После того, как сменил - перестало выскакивать.
Но это выходит за грань логики. Close работает в контексте объекта. То есть, если вызывается в классе TFormxx, то оно аналогично вызову Formxx.Close;.

Другое дело, если бы в процедуре использовался другой контекст, например with Form1 do. Тогда вызов Close внутри конструкции вызвал бы метод другого объекта.

Поэтому я все равно придерживаюсь мнения, что дело было не в форме.
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru
grominfo вне форума Ответить с цитированием
Старый 06.01.2015, 01:04   #17
grominfo
Форумчанин
 
Аватар для grominfo
 
Регистрация: 30.05.2011
Сообщений: 651
По умолчанию

Еще одна мысль меня посетила. Нет ли у вас в программе пользовательской процедуры с тем же именем?

Код:
procedure Close();
begin
{...}
end;
Создание, программирование и сопровождение сайтов любой сложности.
Изготовление программ на заказ.
Список услуг и портфолио на сайте www.andreygrom.ru
grominfo вне форума Ответить с цитированием
Старый 06.01.2015, 12:43   #18
Dennis777
Форумчанин
 
Регистрация: 06.11.2009
Сообщений: 203
По умолчанию

Я тоже не могу понять, честное слово!

Процедуры с названием Клоз - нету. Когда Клоз вызывается без использования модальной формы - всегда достаточно было написать Close без указания названия формы - и все работало идеально. А в этом случае, ошибка возникала в 10-20 процентах случаев. Когда добавил номер формы - перестало.

Возможно, возникал какой-то конфликт из-за использования модальной формы.
Интересный проект по изучению английского:
Английский в формате путешествия по США
Dennis777 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
закрытие формы по escape - "правильное" решение и проблемы AnTe Общие вопросы Delphi 3 05.06.2014 08:13
Правильное уничтожение формы с веббраузером. Dennis777 Общие вопросы Delphi 1 21.03.2014 08:59
Правильное применение методов формы Shouldercannon Общие вопросы Delphi 5 15.10.2013 13:35
Закрытие формы Dennis777 Общие вопросы Delphi 5 20.06.2013 22:46
Правильное закрытие приложения в Delphi 7 Alex Cones Общие вопросы Delphi 5 18.04.2009 22:06