![]() |
|
![]() ![]() ![]() |
|
Лена |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 16.8.2006 Репутация: 11 Всего: 11 |
Как сея конструкция из Делфи, будет выглядить в С++ Builder?
if edFirst.Text = '' then //тут понятно raise EMyApp.Create( 'First Name is required' ); //а тут как raise заменить? Мне надо так: if(IWDBLookupComboBox2->ItemIndex == -1) { тут raise return; } Весь код, выглядит так:
Это сообщение отредактировал(а) Лена - 28.1.2009, 19:41 |
|||
|
||||
Dem_max |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
||||
|
|||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 26 Всего: 459 |
Если в терминах С++ то throw , если SEH то RaiseException
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
vivat |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 6.4.2006 Где: Томск Репутация: 2 Всего: 2 |
||||
|
||||
Лена |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 16.8.2006 Репутация: 11 Всего: 11 |
На этой странице: http://research.pdmagic.com/iw/html/index...._controller.cfm
В разделе Сomponents->Building the Weblication описан пример как вызывать исключения в отдельном web окне. //Set the ExceptionDisplayMode to smNewWindow и т.д. Я пишу так: if(IWDBLookupComboBox2->ItemIndex == -1) throw("Привет дядя!"); В результате я получаю окно с другим содержанием (см.рис). Как все таки правльно перевести тот код с Делфи? Добавлено через 11 минут и 38 секунд Помогла справка Архангельского. ![]() Вот так надо было: if(IWDBLookupComboBox2->ItemIndex == -1) throw Exception("Привет дядя!"); ![]() Присоединённый файл ( Кол-во скачиваний: 11 ) ![]() |
|||
|
||||
mrbrooks |
|
||||||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
В этом случае по правилам исключительной ситуации в С++ надо так:
Добавлено через 1 минуту и 32 секунды
а это уже VCL-шная тема. Сторонники чистоты С++ тебя съедят ![]() |
||||||
|
|||||||
Лена |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 16.8.2006 Репутация: 11 Всего: 11 |
Мне необходимо избавиться от ShowMessage, потому что это окно возникает на серверном компьютере и клиент просто висит. Поэтому так надо: throw Exception("Привет дядя!"); в результате окно появляется на клиенте в IntraWEB. ![]() |
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
VOX |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 21.1.2009 Репутация: 1 Всего: 1 |
вот переведенный код, заработает?
typeEMyApp == class (Exception); TObject) const procedure TformMain->IWButton1Click(Sender; SMessage == "Thank you for( your interest <b>%s %s</b>. You will be notified by %s at %s" ; string { if(! (cbIntraweb->Checked || cbASPNET->Checked || cbDelphi7->Checked) ) raise EMyApp->Create( "Please check at least one event" ); var SNotifyAt, SNotifyMethod; if(edFirst->Text == "" ) raise EMyApp->Create( "First Name is required" ); if(edLast->Text == "" ) raise EMyApp->Create( "Last Name is required" ); switch(rgrpNotify->ItemIndex) 0: if(edEmail->Text == "" ) raise EMyApp->Create( "Email not filled in" ); 1: if(edPhone->Text == "" ) raise EMyApp->Create( "Phone not filled in" ); 2: if(edAddress->Text == "" ) raise EMyApp->Create( "Address not filled in" ); } typeEMyApp == class (Exception); TObject) const procedure TformMain->IWButton1Click(Sender; SMessage == "Thank you for( your interest <b>%s %s</b>. You will be notified by %s at %s" ; string { if(! (cbIntraweb->Checked || cbASPNET->Checked || cbDelphi7->Checked) ) raise EMyApp->Create( "Please check at least one event" ); var SNotifyAt, SNotifyMethod; if(edFirst->Text == "" ) raise EMyApp->Create( "First Name is required" ); if(edLast->Text == "" ) raise EMyApp->Create( "Last Name is required" ); switch(rgrpNotify->ItemIndex) 0: if(edEmail->Text == "" ) raise EMyApp->Create( "Email not filled in" ); 1: if(edPhone->Text == "" ) raise EMyApp->Create( "Phone not filled in" ); 2: if(edAddress->Text == "" ) raise EMyApp->Create( "Address not filled in" ); } |
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
VOX, камрад юзай тег код. а то читать не кошерно как-то.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |