Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MessageDlg, не работает 
V
    Опции темы
Burka
Дата 3.3.2008, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 11.5.2007

Репутация: нет
Всего: 2



Код

if MEssageDlg('****',
                mtConfirmation,[mbYes, mbNo], 0) = mrYes then
 begin
  DataModule1.accounts.Delete;
 end;


Вот код, вроде все написано правильно, но почему то ничего не происходит по нажатию на кнопку Yes, в чем может быть проблема?



--------------------
Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.
PM MAIL   Вверх
Poseidon
Дата 3.3.2008, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(Burka @  3.3.2008,  15:16 Найти цитируемый пост)
но почему то ничего не происходит по нажатию на кнопку Yes
Ты уверен? Может все и происходит, только ты этого не видешь? Добавь в свой код строку ShowMessage('OK') перед четвертой строчкой и увидешь что все происходит.



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Burka
Дата 3.3.2008, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 11.5.2007

Репутация: нет
Всего: 2



Уверен. Проверить можно кстати вставив после THEN точку с запятой.

Если заменить 
Код

MEssageDlg('****',mtConfirmation,[mbYes, mbNo], 0) = mrYes

На
Код

MEssageDlg('****',mtConfirmation,[mbOk, mbCancel], 0) = mrOK

то работает  smile 

Это сообщение отредактировал(а) Burka - 3.3.2008, 15:56


--------------------
Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.
PM MAIL   Вверх
Poseidon
Дата 3.3.2008, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(Burka @  3.3.2008,  15:45 Найти цитируемый пост)
Проверить можно кстати вставив после THEN точку с запятой.
И что? Если ставишь точку с запятой то все что надо происходит? Вылаживай тогда исходник демо-проекта с этим делом. Что-то с трудом верится.



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Burka
Дата 3.3.2008, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 11.5.2007

Репутация: нет
Всего: 2



Вот сделал такую вещь..
Код

i:= MEssageDlg('',mtConfirmation,[mbYes,mbNo],0);
                ShowMessage(IntTostr(i));
i:=mrYes;
                ShowMessage(IntTostr(i));


В первом случае "3", а во втором "6". По идее они должны быть ровны smile 


--------------------
Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.
PM MAIL   Вверх
Poseidon
Дата 3.3.2008, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(Burka @  3.3.2008,  16:16 Найти цитируемый пост)
В первом случае "3", а во втором "6".
Хм, странное у тебя там поведение. 3 - это mrAbort, но каким оно боком там? Какая винда?



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Burka
Дата 3.3.2008, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 11.5.2007

Репутация: нет
Всего: 2



От винды не зависит походу..

Unit Contorls
Код

const
  mrNone     = 0;
  mrOk       = idOk;
  mrCancel   = idCancel;
  mrAbort    = idAbort;
  mrRetry    = idRetry;
  mrIgnore   = idIgnore;
  mrYes      = idYes;                  /!!!!!!!
  mrNo       = idNo;
  mrAll      = mrNo + 1;
  mrNoToAll  = mrAll + 1;
  mrYesToAll = mrNoToAll + 1;


Unit Windows
Код

const
  { Dialog Box Command IDs }
  {$EXTERNALSYM IDOK}
  IDOK = 1;          ID_OK = IDOK;
  {$EXTERNALSYM IDCANCEL}
  IDCANCEL = 2;      ID_CANCEL = IDCANCEL;
  {$EXTERNALSYM IDABORT}
  IDABORT = 3;       ID_ABORT = IDABORT;
  {$EXTERNALSYM IDRETRY}
  IDRETRY = 4;       ID_RETRY = IDRETRY;
  {$EXTERNALSYM IDIGNORE}
  IDIGNORE = 5;      ID_IGNORE = IDIGNORE;
  {$EXTERNALSYM IDYES}
  IDYES = 6;         ID_YES = IDYES;                            //!!!!!!
  {$EXTERNALSYM IDNO}
  IDNO = 7;          ID_NO = IDNO;
  {$EXTERNALSYM IDCLOSE}
  IDCLOSE = 8;       ID_CLOSE = IDCLOSE;
  {$EXTERNALSYM IDHELP}
  IDHELP = 9;        ID_HELP = IDHELP;
  {$EXTERNALSYM IDTRYAGAIN}
  IDTRYAGAIN = 10;
  {$EXTERNALSYM IDCONTINUE}
  IDCONTINUE = 11;


так что даже не заю что думать..

Это сообщение отредактировал(а) Burka - 3.3.2008, 16:31


--------------------
Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.
PM MAIL   Вверх
THandle
Дата 3.3.2008, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 65
Всего: 372



Сделал вот так:

Код

procedure TForm1.Button1Click(Sender: TObject);
begin
 if MessageDlg('****', mtConfirmation,[mbYes, mbNo], 0) = mrYes then
   ShowMessage('Yes')
 else
   ShowMessage('No');
end;


Всё работает отлично.

Burka, не понимаю что там у тебя такое тварится smile 

Это сообщение отредактировал(а) THandle - 3.3.2008, 16:34
PM   Вверх
Burka
Дата 3.3.2008, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 11.5.2007

Репутация: нет
Всего: 2



А у меня не работает, в твоем примере NO в любом случае.

Может вирус какой постарался, даже не знаю. Вместо mrYes цифру тоже не поставить, на другом компе не так работать будет. Свою форму что ли делать..


--------------------
Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.
PM MAIL   Вверх
Poseidon
Дата 3.3.2008, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(Burka @  3.3.2008,  16:30 Найти цитируемый пост)
От винды не зависит походу..
От винды зависит не значения констант, а то, что тебе возвращает MessageDlg. Какая винда?



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
bems
Дата 3.3.2008, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



отредактируй uses-секцию так, чтобы быть уверенным что используется mrYes из модуля Controls а не QControls

Добавлено через 2 минуты и 25 секунд
Цитата(Burka @  3.3.2008,  16:39 Найти цитируемый пост)
Вместо mrYes цифру тоже не поставить, на другом компе не так работать будет
читать раздел про константы древней книги по Паскалю



--------------------
Обижено школьников: 8
PM MAIL   Вверх
Burka
Дата 4.3.2008, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 11.5.2007

Репутация: нет
Всего: 2



Спасибо, bems. Дело и правда было в модулях. QDialogs был лишним. Будем знать.

Это сообщение отредактировал(а) Burka - 4.3.2008, 01:09


--------------------
Великие умы обсуждают идеи; средние умы обсуждают события; мелкие умы обсуждают людей.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0697 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.