Так вещи засуньте в классы, которые и создавайте при загрузке. Потом просто укажите классу окна, что вот, такойто вот объект создан, пользовать его. Проблема эта без примера сложно решается)
Да, могут, конечно. И будут баги, это факт. Нужен Synchronize.
Но создание окон занимает моменты, зачем из создавать заранее? К тому же, в Windows Vista/7 показ уже созданного окна выглядит некрасиво — оно резко появляется.
У вас есть какие-то тяжеловесные операции в OnCreate окон, которые требуют много времени и не зависят от текущей ситуации в приложении? Как это так?
Эти окна в Delphi всего лишь классы, на хуйдой конец, им не нужен Synchronize. Или я не догоняю?
Теперь я не понимаю. Си — низкоуровневый, Делфи — прикладной? Не соглашусь.
PHP — песня. Не знаю, как кто к нему относится, но сама его суть от меня ускользает. Сделайте ISAPI Extension для IIS или Apache — будет работать быстрее, возможности отладки шире. Если нет разницы, зачем изобретать новый язык?
Асм — бог языков. Но очень уж сложен для программиста. Слишком долго писать, чтобы просто вывести окно на экран…
Раньше были проблемы, да. После выхода 64битного компилятора я уже с трудом могу сказать, чего же мне не хватает…
Вы не думайте, что я только Delphi и знаю. Ровно также, или больше, я знаю C/C++. Разницы, если присмотреться, почти нет. Только Си синтаксис мне напоминает шаманство со своими << | & и прочими, по этому предпочитаю писать and or xor. Личное дело каждого, если конечный продкут идентичен.
Еще вам нужно правильно обрабатывать нестандартные ситуации, возникающие во время работы. В Delphi они всегда падают в стандартное окно Access Violation или подобное, что шокирует даже опытного пользователя. Если сделаете вот так, будет намного лучше:
За столько времени многое изменилось. Если есть возможность сделать не на API, а на обертках, это выбор, который некоторым пригодится. Я тоже пользуюсь в Delphi WinAPI иногда, когда этого требует ситуация.
Но дальше сказали же про смерть, очевидно, смертью и не пахнет.
Я бы рекомендовал немного по-другому. Процесс загрузки приложения — сложная тема. Методом проб и ошибок я понял, что нужно делать так:
1. Дизайните Splash Screen, делаете все, что считаете с ним нужным
2. Весь процесс загрузки выводите в отдельный поток
3. В OnCreate главной формы пишите:
Это всязано с особенностью обработки Windows зависших приложений. Если ваш spash не бует отвечать Windows на «пинги» он будет помечен, как зависший. Тред помогает избежать этого поведения.
Главное правило при разработке GUI приложения — все действия прячьте в тред. Даже секундные. Так ваше приложение не будет «висеть» по мнению пользователя или ОС.
Потому что «на нем программируют мышкой». Самый распространенный миф из-за малого порога вхождения. Никто не задумывается, что Delphi ничем не уступает другим средствам разработки «в глубине», потому что не знает.
Вы описали, как сделать красивое окно с некваратными краями. А вот когда его вызывать и закрыть — в событии OnCreate главного окна или сразу после запуска, до создания Application забыли)
Со спецсимволами — беда. Почему из запрещают для меня, лично, большой вопрос. Может, я хочу использовать в пароле символ вроде 0xAE (с клавиатуры не наберешь) — мое личное дело.
Бесит еще, что о том, что пароль «неверный» узнаешь только нажав submit. Догадались? Все поля тутже очищаются, капча новая… FFUUUU эффект в чистом виде.
Про такие штуки не знал, надо попробовать. Может, правда качественные компоненты.
Да, могут, конечно. И будут баги, это факт. Нужен Synchronize.
У вас есть какие-то тяжеловесные операции в OnCreate окон, которые требуют много времени и не зависят от текущей ситуации в приложении? Как это так?
Эти окна в Delphi всего лишь классы, на хуйдой конец, им не нужен Synchronize. Или я не догоняю?
К томуже, какие окна может создавать тред загрузки приложения?
Я вот так считаю, может, я где-то упускаю что-то.
PHP — песня. Не знаю, как кто к нему относится, но сама его суть от меня ускользает. Сделайте ISAPI Extension для IIS или Apache — будет работать быстрее, возможности отладки шире. Если нет разницы, зачем изобретать новый язык?
Асм — бог языков. Но очень уж сложен для программиста. Слишком долго писать, чтобы просто вывести окно на экран…
Раньше были проблемы, да. После выхода 64битного компилятора я уже с трудом могу сказать, чего же мне не хватает…
Вы не думайте, что я только Delphi и знаю. Ровно также, или больше, я знаю C/C++. Разницы, если присмотреться, почти нет. Только Си синтаксис мне напоминает шаманство со своими << | & и прочими, по этому предпочитаю писать and or xor. Личное дело каждого, если конечный продкут идентичен.
Общетематичный? Вопрос лишь во владении предметом.
Еще вам нужно правильно обрабатывать нестандартные ситуации, возникающие во время работы. В Delphi они всегда падают в стандартное окно Access Violation или подобное, что шокирует даже опытного пользователя. Если сделаете вот так, будет намного лучше:
Но дальше сказали же про смерть, очевидно, смертью и не пахнет.
1. Дизайните Splash Screen, делаете все, что считаете с ним нужным
2. Весь процесс загрузки выводите в отдельный поток
3. В OnCreate главной формы пишите:
это запустит тред загрузки и выведет splash screen
4. Когда тред загрузки отработает он вызывает Callback функицию, наподобии:
Это всязано с особенностью обработки Windows зависших приложений. Если ваш spash не бует отвечать Windows на «пинги» он будет помечен, как зависший. Тред помогает избежать этого поведения.
Главное правило при разработке GUI приложения — все действия прячьте в тред. Даже секундные. Так ваше приложение не будет «висеть» по мнению пользователя или ОС.
Бесит еще, что о том, что пароль «неверный» узнаешь только нажав submit. Догадались? Все поля тутже очищаются, капча новая… FFUUUU эффект в чистом виде.
Но я не люблю когда мне говорит сайт, какой пароль ставить. Раздражает одним словом такая забота. Уживаюсь только с е-банками.
ждем расшифровку ;)