![]() |
|
![]() ![]() ![]() |
|
Kirgston |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Всем доброго времени суток! Ребята. Вот тут я столкнулся с необычной проблемой. В Делфи я просто если вызывал с Формы 2 Форм1.Шоу всё работало. Но в С++ как-то не так... Когда я пишу на второй форме Form1->Show(); Ничего не происходит. Тоисть вообще. Компилятор не ругается и т.д. но ничего вообще не происходит. При трассировке я увидел что оно вообще не вызывает форму 1. В чем может быть проблемка? =)
|
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
Kirgston, для Бормана есть свой раздел.
По сабжу - ты форму1 заинклюдил? Сдается мне нет. Alt-F11 спасет отца русской демократии. |
|||
|
||||
Kirgston |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Эээээ извините но на сколько я знаю ВС++ и БС++ это С++ )))) язык то у них один )))) может компоненты разные но синтаксис один же...
Да я само собой добавил. |
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
У тебя Form2 как project->Options->Forms->Auto Create или Available Forms??
если последнее то нужно сделать
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
а ты случаем не SplashScreen делаешь для основной формы ?
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
тады держи
Делаешь форму, которая будет изображать SplashScreen; Делаешь WinMain вида: и форма должна быть project->Options->Forms->Available Forms
Это сообщение отредактировал(а) Dem_max - 17.2.2009, 16:43 -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
Kirgston |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Неее ребят пасибки конечно! Сплеш мне нужен, но не счас ))))
Вот смотрите
В итоге при загрузки программы идет проход Форм1. Шоу . А при вызове оного с Формы 2 уже не идет... |
||||
|
|||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
лучше проектик кидани, только удали *.tds
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
Kirgston |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Вот =) компилил на Билдере 2009
http://www.sendspace.com/file/42x21l Зеркало http://rapidshare.com/files/199212261/__.rar.html |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
а где Form1->Hide() ??? чтобы сделать Form1->Show();
у тебя форма и так на экране, а то что ты ее показываешь еще раз от этого ничегоне меняется, ну может только становиться передним Это сообщение отредактировал(а) Dem_max - 17.2.2009, 18:44 -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
Kirgston |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Хех в Делфи чуток по другому =) я мог пользоватся Шоу без Хайда =) пасибки тут оно помогло. Но вот тут не задача... я хочу чтобы форма плавно переходила в форму... а тут сначала пропадает форм 2 а затем начинает появлятся форм 1=) а мне бы хотелось чтобы без задержки. Тоисть одновременно одна исчезала а другая появлялась =)
|
|||
|
||||
Dem_max |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
Вообщето одна мгновенно исчезает другая мгновенно появляется, даже глаз не замечает смену действий. Проверял таким кодом
Это сообщение отредактировал(а) Dem_max - 18.2.2009, 06:46 -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
||||||
|
|||||||
Kirgston |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Сделал как мне надо =) пасиб большое ! Ребята помогите бедному ламо-чайнику освоить С++ )))
Вот щас захотелось мне сделать свою функцию, да или просто процедуру...
ну например я тут спокойно вижу где подключаются библиотеки, где описываются обекты, где процедуры... в каких они разделах (приват, паблик и т.д.) А в С++...
как-то не очень понятно... сверху вижу что описаны библеотеки. Потом... ресурсы какбы... а где елементы те что я понаставлял? Как мне сделать свою функцию? =) например как её описать я понимаю... но вот... в делфях мне надо было её описать в разделе type типа type procedure blablabla; а тут ничего такого нету. При попытке ввести просто перед началом кода заголовок функции и нажать на Ctr+Shift+C (В делфи автоматом создается "заготовка" процедуры) у меня ничего не получилось... Помогите пожалуйста бедному ламеру =) Да и ещё один вопросик. Почему при
у меня не происходит открытия ридми? Хотя сайтики открывает хорошо. Да и ехешники тоже. А вот тхт файлы уже не в какую... Заранее большое спасибо!!! |
||||||
|
|||||||
Dem_max |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
все описывается в структуре класса который храниться в "Unit1.h" а вот и сам класс
Ээээ, это как нибудь без нас, литературы куча, примеров тоже + Google + MSDN Это сообщение отредактировал(а) Dem_max - 18.2.2009, 15:39 -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
||||||||||
|
|||||||||||
Kirgston |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Ой пасиб большое!!! Да я не такой чтобы постоянно спрашивать =) мне бы просто какбы... привыкнуть к среде =) вот остался только вопросик... в Делфи я когда обявлял функцию\процедуру я мог описать её и нажать Ctr+Shift+C и автоматически создавался обработчик под мою функцию\процедуру. Тут этакое не катит =) может есть какие-то аналоги? А то описывать свою функцию вручную не очень удобно. Простой пример:
Получаю:
Вот что-то на подобии этакого =) Заранее большое спасибо!!! З.Ы. я тоже хочу научится так шайтанить в С++ как вы ![]() |
||||
|
|||||
TopCore |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 17.8.2009 Репутация: нет Всего: нет |
Kirgston, ну как, стал шайтаном?
![]() ![]() |
|||
|
||||
dasknix |
|
||||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 20.9.2009 Репутация: нет Всего: нет |
ок, а такой вопрос: после сидения часов, этак, шести-восьми с Брукландом, и уже мирно покуривая вместе с его ближним братом Дебаггером Мне явила свой лик сама Суть предложенного тобой кода. Она, как я понял заключается в том что это неудобно, ибо убить форму-сплеш, созданную в главном сурсе проекта не имеется никакой возможности! Т.е. мы можем работать с внутренними элеметами управления и другими объектами на форме, но прочитать её свойства или повлиять на них напрямую изнутри не имеется никакой возможности! Это не есть гуд, ибо, например в моей ситуации как ты уже понял я скрываю/закрываю её сам, после того, как например моя прога отыскала конфиг, или не отыскала и выходит с предупреждением.. Вопрос: можно ли сделать это, не загружая основную форму, при чём не в основном сурсе (как то не правильно с точки зрения распределения кода получиться), а в сурсе модуля, который как раз управляет этой формой?.. E.G.: [MainProjectSource].cpp
SplashForm.cpp
SplashForm.h
т.е. сплеш либо сам сворачивает свои причиндалы, если всё нормально, либо выходит из программы, если error.. (e.g. file not found..) PS Application->MainForm == frmMain .. Это сообщение отредактировал(а) dasknix - 7.11.2009, 03:19 |
||||||||||
|
|||||||||||
dasknix |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 20.9.2009 Репутация: нет Всего: нет |
хехе, покумекал тут и нашёл временное решение:
перенёс
из главного сурса (MainProjectSource) в iOC_Splash_Prepare(), и добавил туда
и всё это будет выполняться только если препарирование прошло нормально, иначе приложение закрывается.. (exe завершает работу, проверял), но это всё равно не совсем гуд имхо.., я не очень понимаю что делает App->Run(); и времени нету, может кто поделиться сжатым куском полезной инфы?.. ![]() Это сообщение отредактировал(а) dasknix - 7.11.2009, 03:42 |
||||
|
|||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Главное правило программера: работает - не трогай. ![]() В кратце - вызывает вашу программу А коль времени нету - тогда шаманьте хоттабыча... Иначе - Программирование занимает большую часть свободного времени. |
|||
|
||||
Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 16 Всего: 41 |
![]()
Понравилось высказывание ![]() Применил его к некоторым жизненным вещам(не компьютерным) и повеселился ![]() -------------------- |
|||
|
||||
A5uKa |
|
||||||
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: 2 Всего: 16 |
по поводу сплэшки мне кажется проще всего так
если "во время сплэшки" надо всё же что-то делать на главной форме гружу сплэшку прямо с главной формы т.е.
и
а там уже что угодно ... |
||||||
|
|||||||
dasknix |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 20.9.2009 Репутация: нет Всего: нет |
мне нужно делать именно с самой сплешкой "что-то" =) а форму я просто потом включу ShowMainForm'ом, это не проблема, проблема в том, что я не могу получить доступ к форме, созданной и вызванной в главном файле кода! Она не может сама себя закрыть, а вместо этого вылетает с exception'ом.. т.е.: пишу в SplashForm:
или
в общем, не важно, что, любое обращение к ней завершается бесполезным бубном и 2-3 пачками сигарет, после которых уже даже киберпанк муви смотреть не хочется.. =\ PS и грузить из главной формы эту - не вариант, у меня MainForm массивный и башущий вобщем), поэтому сначала сплеш проверяет версию ОСи, стека и прпр, наличие и состояние конфигов, а уже после релизит конф-инфу из источника данных и приминяет их на форму, после чего она уже появляется, причем без глюков с постепенной прорисовкой и прпр.. вот такие дела. неужели никто не знает как правильно поступить, форум же вроде набит гуру.. И почините поиск по разделу уже, я 4м модерам сообщил недели полторы назад - ноль внимания..! ![]() ![]() ![]()
Это сообщение отредактировал(а) dasknix - 10.11.2009, 04:13 |
||||||||
|
|||||||||
A5uKa |
|
|||
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: 2 Всего: 16 |
frmSplash->Hide() или закрыть её на активации MainForm не вариант ?
|
|||
|
||||
dasknix |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 20.9.2009 Репутация: нет Всего: нет |
2A5uKa
нет, не вариант. Автоматическая инициализация формы - не выход, т.к. она большая и нагруженная, должна быть запущена только, если код сплеша сообщит что ошибок нет и можно загружать главную форму. Других вариантов не дано, если нужно чтобы работало быстро, а это нужно. Пример: ты грузишь Photoshop CS3 на компе 1гГц + 256 RAM, у тебя вылезает сплешь, в фоне грузиться workspace, и после того как у тебя 200 метров мозгов забито тебе сообщают, что файл конфигурации не найден или не может быть сохранён (если его нету, то он автосгенериться..). Причем сообщение сразу не вылезет как-раз потому что будет грузить проц и вообще комп загружающаяся форма. Так вот, повторюсь: как можно вызвать из кода сплеша [SplashForm.cpp] закрытие его формы [frmSplash->Close();], учитывая то, что сам он создан фрагментом главного кода проекта [имя_проекта].cpp:
...? PS Вот что не работает [SplashForm.cpp]:
Это сообщение отредактировал(а) dasknix - 13.11.2009, 00:46 |
||||
|
|||||
dasknix |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 20.9.2009 Репутация: нет Всего: нет |
почитал http://msdn.microsoft.com/ru-ru/library/ms157902.aspx вот бы узнать, что происходит, и что обрабатывает этот Run(), если форма ещё не создана.. и опять же, переписана ли Borland'овская Run() корректно, или могут возникнуть проблемы, которые при тестировании выявить трудно?.. Кто может подсказать?.. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |