Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
я тут чтото не догоняю... значит проект делается как трей-приложение, при старте должен запускаться свернутым в трей. Ну вот, оно так все и происходило, пока я не добавил команд во вкладке Startup. Теперь при старте вылазит главное окно, видимо пока выполняются команды, и только затем прячется в трей. Можно от этого избавиться?
Добавлено (03 Март 2010, 03:19) --------------------------------------------- у меня просто стоит касперский, и он в момент старта выдает запрос о статусе проги и останавливает приложение, если б не он, так бы может окно и пропадало и я бы его не замечал... ну в принципе, можно стартовать и несвернутым, если простого решения не будет. Просто непорядок, раз сказано что трей-приложение, значит нефиг появляться вообще окну...
Эта "неприятность" уже обсуждалась на оффоруме NB. Высказывались даже предложения разделить сценарий "StartUp" на два этапа: "до" появления (отрисовки) главного окна, и "после". Разработчики согласились с тем, что в этом есть смысл, и обещали подумать... Но, на самом деле, эту проблему можно решить чуть иначе... Нужно весь сценарий из секции "StartUp" перенести в секцию "PageEnter" первой страницы. А чтобы он срабатывал только один раз, т.е. только при запуске, а не каждый раз со входом на страницу (если их несколько), оформить его, например, так:
Code
If "[StartUp]" "<>" "True" <Сценарий "StartUp"> SetVar "[StartUp]" "True" EndIf
Теперь он будет работать только один раз - при запуске. А окно появляться не будет!
Не знаю у кого как, но на моем компе все срабатывает безотказно! Пробуйте...
Quote (DEMBEL)
касперский, и он в момент старта выдает запрос о статусе проги
В таких случаях ответ стандартный: каспера - в топку! Невелика потеря!
А если серьезно, то это (насколько мне известно) проявляется только в режиме проектирования при первом запуске (в делфях та же чума), а в скомпилированном ЕХЕ всё пучком. Каспер реагирует на отладчик. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
В принципе мысль хорошая, но в NB, к сожалению, похоже неосуществимая. Дело в том, что в проекте NB нет возможности четко и конкретно задать координаты появления окна при запуске, можно только относительно экрана - вверху, внизу, слева, справа, по-центру, справа внизу, и т.п., а вот "за пределами экрана" - никак. Есть опция "Сохранять позицию окна в Реестре" (с указанием даже конкретного ключа), но тут надо умудриться внести запись в Реестр уже ПОСЛЕ того, как это сделает само приложение на выходе, а это, боюсь, невозможно. Причем, в этом случае, самый первый заапуск все-равно будет не за пределами экрана. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Упорно сбрасывает к 25х25 (это min при запуске). "После" можно, но смысл уже теряется... - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Никак... У необушного окна нет собственного свойства прозрачности. Прозрачность можно задать только плагином, а это опять упирается в конкретную команду, которую нужно где-то прописывать. Да и Handle окна по-любому нужен в этом случае. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
А минимизе ему нельзя назначить при старте? Пусть бы батон на панели нарисовался и спрятался. И как в нб с апликейшен, а проекты без формы могут быть? А вообще то винда ленивая штука, форму создает только тогда когда она реально нужна, не раз с таким сталкивался, в онкреате -хайде и форма не создается. А если присмотрется, многие проги сидящие в трее, при загрузке, выкидывают свое окошко, а затем линяют в трей, только сервисы как то по тихому ставятся. К стати это идея - попробовать энту прогу ставить как сервис, что то такое я видел в сетке, пошуршите. Ну что еще, в мусорнике что то есть, какая то ветка, что то такое где то попадалось.
Можно! Только в "стартовых" настройках проекта это не предусмотрено, и "это" все-равно надо прописывать в "StartUp", а в результате окно появиться и тут же свернеться, как:
Quote (Alex3A)
многие проги сидящие в трее, при загрузке, выкидывают свое окошко, а затем линяют в трей,
с чем и не согласны DEMBEL и Сергей. В принципе, это верно: если уж ты типа "Tray", то и нефиг тебе показывать свое "лицо" на старте, даже на мгновенье!
Quote (Alex3A)
К стати это идея - попробовать энту прогу ставить как сервис
Гм... Ну вот ребята придут, "им и карты в руки"... - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Тут очевидно некая непонятка, данных товарищей, размещение значка в трее вовсе не означает невидимости приложения, просто это механизм для доступа к загруженным приложениям стояшим в тени, то есть спрятанным, я вообще как то не вспоминаю, что бы то что в трее не выводило при старте своего окна. Мало того я считаю, что помщение чего либо в трей должно иметь веские основание, и сам страшно не люблю того что всякий взброд туда лезет по мимо моей воли. Кроме того, выше я уже описывал что может быть если окно не всплывает, оно просто не создается. В своей практике, я сделал только одну прогу, использующую трей, и то исключительно по тому что в этом была серьезная причина - прога работает в невидимом режиме (сервер), но необходим доступ к ее настройкам. Проги иного характера -сервисы, грузятся при старте системы и работают в теневом режиме, они то же могут ставить иконку в трее. В чем вся суть - программа (если она содержит форму) состоит из двух окон - окна приложения (кнопа на панели задач) и окно главной формы (то что на экране), любое из этих окон можно сделать невидимым (спрятать), но если спрятать окно приложения, то минимизировав окно главной формы, востановить ее уже не удастся, при такой необходимости и ставится значек в трее. К стати, и окно приложения (кнопу на панели задач), можно развернуть на экране, задав ему положение и размеры. Бывают проги, у которых нет главного окна, только окно приложения. Если необходимо иметь что то невидимое, лучше использовать сервис. Но ради показной псевдокрутизны этого делать не следует - как минимум плохой тон
ладно, я в принципе сделал как хотел... пришлось взад пихать все в page enter. я просто хотел чтоб некоторые вычислительные процедуры выполнились заранее пока приложение в трее и если вдруг будет вызвано главное окно чтоб все уже было готово заранее...
Добавлено (04 Март 2010, 18:43) --------------------------------------------- еще косяк в том, что если в Startup прописаны команды (даже если они закомментированы все) -> показывается главное окно -> вдобавок выполняются команды из PageEnter, а это уже явный перебор и только после всего этого окно уползает в трей. выходит чтоб работало как трей-приложение надо чтоб startup был чист, но тогда
Quote
некоторые вычислительные процедуры выполнились заранее
уже невозможно, если только с вкладки Idle...
Добавлено (04 Март 2010, 21:39) --------------------------------------------- что-то моча в голову ударила (с подачи Dym) реанимировать старую програмулину - напоминалку о событиях birthday millennium. пока собственно напоминания нету, есть просто список событий, которые берутся из файлов и обрабатываются. вот что выходит пока (скачать beta). После открытия окна из трея можно наблюдать тупую задержку на обработку данных, вот еслиб можно было пока в трее висит быстренько посчитать все... И прокрутка тупит конечно при резких телодвижениях (внизу прокрутки нету)... вот бы победить все косяки...
имеющиеся фичи - расчет относительных дат (второе 2 воскресенье 7 марта 03 запишется как *2703, а последнее - как *5703), вывод данных отдельно в html-таблице браузером. Показываются 15 событий с текущей даты в пределах текущего и следующего месяца. Расчет разницы дат сколько осталось дней до события.
(даже если они закомментированы все) -> показывается главное окно
А вот этот момент очень интересен!!! Думаю, можно как-раз и выяснить: выбрасываются из проекта комментарии или нет при загрузке приложения в Runtime варианте? В проектном режиме выяснили - НЕ выбрасываются! Если же и в скомпилированном ЕХЕ будет появляться окно (в StartUp одни только комменты), то значит, что и комменты тоже грузяться в память и обрабатываются интерпретатором, а это не есть "гуд".
Quote (DEMBEL)
вдобавок выполняются команды из PageEnter
Ну это-то "исправить" легко - добавить всего одну строку кода:
Ну не знаю... У меня окно "уползает" в трей ДО начала выполнения PageEnter.
Quote (DEMBEL)
уже невозможно
Why not?
Quote (DEMBEL)
что-то моча в голову ударила
Гм... Я бы рад помочь, но не специалист в таких вопросах, пардон!
Quote (DEMBEL)
тупую задержку на обработку данных
Ну, не такая уж она и тупая, между прочим! Где-то полсекунды, мелочи...
Quote (DEMBEL)
вот еслиб можно было пока в трее висит быстренько посчитать все...
А что мешает подсчитать в PageEnter сразу после запуска? В конце-концов, есть ведь ещё "таймер".
Quote (DEMBEL)
И прокрутка тупит конечно при резких телодвижениях (внизу прокрутки нету)...
У меня ничего не тупит! Как ни пытался... А у меня система сейчас далеко не в самом лучшем состоянии! DEMBEL, не исключено, что надо тебе искать причины косяков (тормозов) на своем компе. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
да систему недавно переставлял, все норм, еще не успел засрать
Quote (Peter)
Ну, не такая уж она и тупая, между прочим! Где-то полсекунды, мелочи...
да, это у меня касперский новые(изменившиеся) приложения тестирует... при отключении этой опции у каспера задержка действительно секундная, но я то знаю что она есть и все работает неоптимально, и это меня свербит
Quote (Peter)
А что мешает подсчитать в PageEnter сразу после запуска?
дак ведь PageEnter выполняется только при восстановлении из трея, а хотелось бы чтобы считало после открытия пока в трее висит, как будто из вкладки Startup. Но добавить в Startup ничего нельзя, иначе окно вылазиет.
Добавлено (05 Март 2010, 02:37) ---------------------------------------------
Quote (Peter)
комменты тоже грузяться в память и обрабатываются интерпретатором, а это не есть "гуд".
да, комменты тоже грузятся и обрабатываются, как выяснилось... остаются в проекте Как задавать вопросы
при отключении этой опции у каспера задержка действительно секундная,
"Секундная" это "достижение" каспера?
У меня сейчас DrWeb+OutPost, так задержка максимум 0.5 сек. Впрочем, ругать каспера уже давно всем надоело, а считаться с тем, что на достаточно большом количестве компов он установлен, волей-неволей придется.
Quote (DEMBEL)
и это меня свербит
Даже на Солнце есть "пятна"!...
Quote (DEMBEL)
дак ведь PageEnter выполняется только при восстановлении из трея, а хотелось бы чтобы считало после открытия пока в трее висит, как будто из вкладки Startup
Ага. Тогда вставляй код в IdleEvent, с секундным ожиданием. Но это совсем неоптимально, т.к. только первое срабатывание "рабочее", а все остальное время событие молотить будет вхолостую, даже если скрипт работать не будет.
Quote (DEMBEL)
остаются в проекте
Комменты по-любому остаются в проекте. Вопрос в том грузяться ли они вместе со скриптами в память, или отбрасываются? Всё верно - похоже, что не только грузяться, но и обрабатываются интерпретатором вместе с рабочими скриптами! А отсюда вывод - чем меньше комментов, тем быстрее будет работать проект. По крайней мере - теоретически.... - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Все зависит от того чем является нб транслятор или интерпритатор, трансляторы переводят текст проги в машинные кода и записывают их в ехе файл, коментарии в этом случае не являются программой и не попадают в код. Интерпритаторы переводят прогу в маш код в процессе работы самой проги, естественно в ехе файле присутствует и сам исходник, в таком виде как вы его и оставили, с коментариями. Однако наличие коментариев в принципе не должно влиять на скорость выполнения программы, время необходимое для обхода интерпритатором коментариев ничтожно, и даже для первых ПК (12мгц)не имело значения. Так что современные монструсы вообще их замечать не должны. Так что наблюдаемый еффект связан с чем то иным.
Скорее всего с последовательностью событий, а не скоростью обработки. Тут сам факт того, что в секции StartUp чего-то имеется уже влияет на появление окошка. А какая именно связь одним только разработчикам NB ведомо! Недаром они обещали подумать.
Добавлено (05 Март 2010, 17:14) ---------------------------------------------
Quote (Alex3A)
Так что современные монструсы вообще их замечать не должны.
Резонно, только когда комментов больше, чем самого кода, гм... - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
чтото засада полнейшая... заставить трей-приложение выполнить какой-то код после запуска без показа главного окна нельзя. Ну загрузилось оно, появился значок в трее и что дальше... Выполнить действия таймером нельзя, т.к. он либо When page is displayed, либо Wait for timer action (которое опятьже в Startup не воткнешь, окно вылезет). концепция "трей-приложения" заключается в старте свернутым и открывании окна по щелчку или выполнения меню. Само приложение при этом не работает какбэ абсолютно... а надо заставить его сидеть в трее и мониторить дату/время, и никак этот процесс не запустить.
Добавлено (08 Март 2010, 02:30) --------------------------------------------- а это... вариант типа какую-нибудь заставку показывать при запуске не проканает? раз уж не обойтись без открытия окна, хоть пусть чето другое появляется. и как лучше это сделать?
кстати событие Idle не обрабатывается в tray-режиме, только если окно приложения активно. задавать команды на этой вкладке бестолку, хотя и само ее применение весьма сомнительно, нельзя же ожидать что пользователь не будет ничего трогать в течение периода времени... -- так, насчет idle я прогнал немного... вставил в стартап команды изменения размера окна и вставил заставку на стартовую страницу. после показа окна и сворачивания в трей события idle заработали. но все равно как-то не по людски организовано все в этом месте (обработка стартапа я имею ввиду, и события...) а с изменениями размеров и переходами со страницы на страницу начинаются замечаться "мелькания" всего этого процесса... буду думать дальше.
Здесь остается только ждать, что разработчики NB подкорректируют эти события. Тема эта была на оффоруме, я точно помню. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Quote (Alex3A) Ну а прозрачным его, ну совсем, прозрачным?
Никак... У необушного окна нет собственного свойства прозрачности. Прозрачность можно задать только плагином, а это опять упирается в конкретную команду, которую нужно где-то прописывать. Да и Handle окна по-любому нужен в этом случае.
Может кому поможет в некоторых случаях. Я установил маску на проект во всю площадь.При старте ни чего не появляется. Правда накладывает некоторые неудобства.Интересно маску потом можно отменить? сам не пробовал, не было необходимости.
Сообщение отредактировано SiBEERia - Чт, 22 Апреля 2010, 09:30
Есть опция "Сохранять позицию окна в Реестре" (с указанием даже конкретного ключа), но тут надо умудриться внести запись в Реестр уже ПОСЛЕ того, как это сделает само приложение на выходе, а это, боюсь, невозможно.
А если внести ДО открытия приложения? Во время его установки.
Quote (DEMBEL)
а это... вариант типа какую-нибудь заставку показывать при запуске не проканает?
Раз у тебя напоминалка о событиях, почему не сделать в правом нижнем углу напоминание о каком либо событии, или если такового нет выводить надпись, типа на сегодняшний день ничего не задано. Или еще как.
Quote (SiBEERia)
Я установил маску на проект во всю площадь
Тоже как вариант. Можно создать два проекта. Первый запускается как маска и выполняет все задачи, после чего запускает второе Трей приложение, а сам закрывается. Не хочешь читать хелп?
Quote (Alex3A) Ну а прозрачным его, ну совсем, прозрачным?
Я просто налаживаю маску на главное окно в проект/св-ва/окно/стиль окна/ в виде слошного цвета,и делаю его прозрачным.А в мере необхадимости вывожу контейнеры с объектами,не используя главное окно. Попробуй может так будет лучше? Win7 Pro SP1 x64; NBv5.5.4rus,v5.6.2rus, v5.7.0en, Opera
маску на главное окно в проект/св-ва/окно/стиль окна/ в виде слошного цвета,и делаю его прозрачным.А в мере необхадимости вывожу контейнеры с объектами,не используя главное окно. Попробуй может так будет лучше?
Ура! Gorezcaid, спасибище за совет! Вот и мне пригодилось! Не мог избавиться от главного окна, которое всегда вылазило вместе с контейнером (контейнер всегда открывался только на фоне главного окна программы). Теперь всё так, как надо, по команде из меню трея открывается контейнер и при этом главное окно невидимо! Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Нет, не мешается! Я проверил этот момент сразу же. Невидимого окна как-будто бы и нет совсем. Размер контейнера значительно уступает размеру невидимого окна, однако те элементы, которые выглядывают из под контейнера в других окнах (например, файлы в проводнике) - выделяются одним кликом. Так что решение проблемы с помощью маски - очень хорошее решение! Получаем полностью управляемое главное окно. Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Дата: Чт, 23 Сентября 2010, 03:58 | Сообщение # 29
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
у меня такая просьба. скомпилируйте пустое трей-приложение, запустите. появится иконка в трее. затем перезапустите оболочку (убейте процесс explorer.exe и запустите снова [Файл->Новая задача...->explorer]). проверьте, исчезла ли иконка приложения из трея или нет...
Дата: Чт, 23 Сентября 2010, 04:13 | Сообщение # 30
Админ NeoBook
Администраторы
Сообщений: 7425
Offline
Quote (DEMBEL)
у меня такая просьба. скомпилируйте пустое трей-приложение, запустите. появится иконка в трее. затем перезапустите оболочку (убейте процесс explorer.exe и запустите снова [Файл->Новая задача...->explorer]). проверьте, исчезла ли иконка приложения из трея или нет...
Не-а. Не появилася. Но, самое стремное то, что исполняемый файл тоже исчез со всего места на рабочем столе.
Добавлено (23 Сентябрь 2010, 04:13) --------------------------------------------- А, нашел! Просто все иконки перемешались. Все в порядке, ложная тревога! Пардон-с...
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться