![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
wesadex |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 21.6.2005 Репутация: нет Всего: нет |
А по-разному пробовал:
Пробовал во вне класса обращаться MessageBox(Form.Handle,...) и внутри так же пробовал: все одно - если стоит бит MB_ICONWARNING, то MessageBox не срабатывает... Даже ноль пробовал - не пашет. Если есть какая-то хитрость особенная - то это фишка 2006 Дельфи ибо все приведенные выше способы вполне работоспособны на 7-ой Дельфи! Пример Ваш у меня не работает. Одним словом, сколько я с бубном не плясал, но победить MB_ICONWARNING_ГЛЮК я так и не смог... с любыми другими сочетаниями кнопок, иконок, стилей - все прекрасно! Дельфи 2006 снес - родная "семерка" - верный друг и помощник! Кстати, у кого стоит - гляньте, если не сложно, есть ли там исходники Windows, System модулей, я что-то не посмотрел, а ставить заново только ради этого... Это сообщение отредактировал(а) wesadex - 23.12.2005, 10:06 |
|||
|
||||
Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
А ты посмотри свои настройки цвета. -------------------- Все знать невозможно, но хочется |
|||
|
||||
Петрович |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
1. При чем тут Delphi? Дело в том, что MessageBox это чистый вызов WinAPI. 2. Прежде чем такое утверждать, надо проверять на простейших примерах типа:
Так вот, в этом примере все работает нормально! Что-же касается твоих проблем то:
1. Передача hInstance это полный бред. Первым параметром MessageBox может быть только либо 0, либо хендл ОКНА. Передеча ему хндла любого другого объекта будет восприниматься как ошибка, и окно выводиться НЕ БУДЕТ!. 2. Из данного фрагмента совершенно не ясно чей Handle имеется ввиду. Свойство Handle имеется у многих объектов Delphi а не только у формы. Еще, пожалуй обращу внимание на одну особенность работы MessageBox. Возможно это натолкнет на мысль о том почему у тебя она "не работат". Если в качестве хэндла отцовского окна (первый параметр) ей передать 0, то окно сообщения не будет модальным по отношению к приложению. Т.е., активное окно приложения останется активным, а значит сможет принимать все сообщения. В приведенном мною примере, во время отображения второго сообщения (Message 2), можно переключиться на окно приложения и снова нажать кнопку Button1 со всеми вытекающими последствиями. Данное поведение функции при неправильном ее использовании может приводить к рекурсии. Например, если ее вызывать при обработке OnPaint. Чтобы избежать подобных проблем, можно добавить флаг MB_TASKMODAL:
Но, все равно, использовать ее для отладки OnPaint не стоит ![]() -------------------- Все знать невозможно, но хочется |
||||||||||
|
|||||||||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
а как поменять BDSPROJECTSDIR причем не "User override" а глобально?
потому как делфи упорно пытается загрузить пакеты из системного значения, наплевав на пользовательское -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
Если правильно понял Присоединённый файл ( Кол-во скачиваний: 92 ) ![]() -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
блин.
борланд порадовал: http://qc.borland.com/wc/qcmain.aspx?d=10265 что за "as designed"? точнее нафига. -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
rsm |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 999 Регистрация: 16.3.2005 Репутация: нет Всего: 62 |
Я вот тут интерес имею: может ли сабж создавать нормальные Win32-приложения? Или он выдает только .NET'овый полу- недо- код?
Это сообщение отредактировал(а) rsm - 23.12.2005, 16:25 |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
может и обычные Win32
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
еще один глюк обнаружил ( по крайней мере для C++ Builder-части ) -- полностью ( или почти полностью
![]() поэтому не находит файлы исходников VCL ![]() -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
и еще один глюк: после 750-й строки перестает работать Code completion ( причем четко после 750-й )
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Петрович |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Если я правильно понимаю то что имел ввиду автор, то Delphi IDE всегда грузила пакеты по обычным правилам загрузки dll в Windows. Т.е., пакеты, как и обычные dll, ищутся в следующих каталогах:
Возмоно я напутал с порядком, но сути это не меняет. Поскольку по умолчанию параметр "Environment Option" -> "Delphi Options" -> "Library - Win32" -> "Package output dirrectory" задан равным каталогу проектов, точно уже не помню значение ![]() Если Вы размещаете Ваши пакеты где-то в другом месте, то вам необходимо добавить это место в переменную PATH.
Что значит "нафига"?
При работе с Delphi проектами такой проблемы не наблюдал! Особенно интересно что значит "( или почти полностью )"? Он что, игнорирует только четные или только не четные пути? ![]() ![]()
Опять же в Delphi-проекте, у меня есть модули размером более 1000 строк. У меня в них нет проблем с Code completion. Может у вас где-то в районе 750-й строки есть синтаксическая ошибка? Модуль транслируется? -------------------- Все знать невозможно, но хочется |
||||||||
|
|||||||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
по поводу пакетов: в том то и прикол что задано там $(BDSPROJECTSDIR)\bpl
и в User overrides ( Options->Environment Options->Environment Variables ) наличиствует этот оверрайд. но пакеты валятся по пути, указанному в System Variables и, даже если их переинсталировать ( Component->Install Packages... ) из каталога User overrides -- студия их пытается найти в System Variables и в каталоге User overrides искать даже не пытается. по поводу "Что значит "нафига"?" это так -- мысли в слух. просто интересно зачем нужно было хард-кодить положение папки проектов в папку "Мои документы" по поводу "интересно что значит "( или почти полностью )"?" исходники того же Virtual TreeView прекрасно находит. исходники VCL -- не находит. но это ( как и Code completion ) как я понимаю, проблема Builder-части. не зря, видно, его Preview обозвали... -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Петрович |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Аааа. Теперь понятно о чем речь. Вообще-то, Мне казалось что в "Environment Option" -> "Delphi Options" -> "Library - Win32" -> "Package output dirrectory" он вообще не терпит указания переменных. Я когда-то, еще в Delphi 6 пробовал поставить туда User переменную и меня игнорировали. С тех пор и считал что там нельзя указывать переменные. Правда, я не догадался попробовать подставить системную переменную.
Может у меня трудности с английским, но я что-то не увидел по указанной ссылке ничего подобного!
Возможно, хотя и странно. -------------------- Все знать невозможно, но хочется |
||||||
|
|||||||
Чел |
|
|||
Unregistered |
Кто-нибудь может ответить мне на вопрос, зачем Борланд после 7-мой версии поменяли дизайн?
Хотя бы одну причину? |
|||
|
||||
Grol |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 5.5.2005 Где: Россия Репутация: нет Всего: нет |
Вообще нормально, где купить и будет ли дистрибутив на DVD. А так спасибо за статью, а то я юзаю в Delphi 7 и больше ничего не знаю. Пора переходить на новые версии Delphi.
--------------------
Живи так, как будто тебе предстоит умереть завтра...Учись так, как будто тебе предстоит жить вечно......... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |