Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Embarcadero RAD Studio XE2 (Pulsar)

Автор: mdid
Дата сообщения: 17.01.2012 12:02
черт..подскажите одну хреновину...создал форму...кинул на нее баттон и 2 едита...по нажатию на кнопку выполняется скрипт

Код: TForm1.CreateParented(self.Handle).Show;
Автор: bpnmail
Дата сообщения: 17.01.2012 16:54
mdid

Цитата:
черт..подскажите одну хреновину...создал форму...кинул на нее баттон и 2 едита...по нажатию на кнопку выполняется скрипт
Код: TForm1.CreateParented(self.Handle).Show;


А по каким соображениям используется CreateParented ?

вот так можно делать:
TForm1.Create(nil).Show;
или
TForm1.Create(application).Show;
или
TForm1.Create(MainForm).Show;
Автор: mdid
Дата сообщения: 17.01.2012 19:08
bpnmail
можно..но если не указать парента то при потере фокуса форма уйдет аж за главную форму
и даже если сделать

Код: Form1:=TForm1.Create(application);
Form1.parent:=MainForm;
Form.Show;
Автор: Arioch1
Дата сообщения: 17.01.2012 23:52

Цитата:
частичный - да, полный - нет, т.к. в default.tmx не хватает некоторых констант, например из файла BindCompDsnResStrs.pas

Tulnov

Ну понятно, что придётся дописывать. Так это всё равно придётся, от какой печки не танцуй.
Зато можно сделать один проект, один набор файлов под все версии.

С другoй стороны, не все используют для локализации ITE.
Автор: wasilissk
Дата сообщения: 18.01.2012 04:44
mdid
Я думаю ShowModal или инструмент "Windows" в главном окне, с перечислением всех активных окон и быстрым переключением (хоткеями) между ними спасет отца демократии.
Автор: mdid
Дата сообщения: 18.01.2012 08:09
wasilissk
та усеры которые привыкли работать с 1с яростно бастуют когда только одно рабочее окно...посему ShowModal это на совсем крайний случай
Автор: Arioch1
Дата сообщения: 18.01.2012 11:07
http://andy.jgknet.de/blog/2010/12/using-fibers-for-tab-modal-forms/

но это если жестоко VCL переделывать
Автор: Frodo_Torbins
Дата сообщения: 18.01.2012 11:19
mdid
MDI не так уж и плох, особенно если добавить компонентик для переключения окошек, аля табы в браузере. К примеру мой вариант: http://mikolatorbins.narod.ru/MDITab1.9.exe
Автор: mdid
Дата сообщения: 18.01.2012 12:04
Frodo_Torbins
MDI мне не нравится тем что при создании сразу же появляется форма..и что бы передать параметр форме надо или свой конструктор писать или еще как то извращаться...у меня всегда было так
1. создание формы
2. передача параметров
3. Show
4. в созданной форме в OnShow обрабатываем параметры

а с mdi все рушиться...кстати а как вы передаете MDI форме параметры?
Автор: VitaliM
Дата сообщения: 18.01.2012 14:45
mdid

Цитата:
кстати а как вы передаете MDI форме параметры

Использовать переопределенный метод CreateParams(...) в базовой форме и от нее наследовать рабочие формы:

Код: procedure TCustomMDIChildForm.CreateParams(var Params: TCreateParams);
begin
inherited;
DoCreateParams( Params );
end;
Автор: mdid
Дата сообщения: 18.01.2012 16:01
пипец какой то с этими mdi..или хе2 глюкавая или я...для экспериментов поменял formstyle на mdi...поматерившись немного сменил обратно на normal...но форма показывается все равно при создании..шо за срань?
Автор: Arvur
Дата сообщения: 19.01.2012 13:40
mdid

Цитата:
эффект тот же..не фокусируется по лкм

А Activate после Show не пробовал?

Цитата:
форма показывается все равно при создании..шо за срань?

Ты когда FormStyle меняешь, там по-моему Visible выставляется в True, а форма небось в AutoCreate списке.
Автор: mdid
Дата сообщения: 19.01.2012 15:31
Arvur
1, не помогло
2, форма была не в AutoCreate ...за этим списком я слежу и там только одна форма...в общем уже не актуально...пересоздал форму
Автор: korstin
Дата сообщения: 23.01.2012 11:24

Цитата:
пипец какой то с этими mdi..или хе2 глюкавая или я...для экспериментов поменял formstyle на mdi...поматерившись немного сменил обратно на normal...но  форма показывается все равно при создании..шо за срань?

Это поведение MDI форм, сколько себя помню. Смените Visible на False.
Я обычно создаю форму, отрисовываю что надо, только затем меняю FormStyle на нужный (плюс FormPosition и прочее). Таким образом, одна и та же форма может показываться в разном режиме.

Добавлено:

Цитата:
кстати а как вы передаете MDI форме параметры?

У меня есть собственные классы
TCallParam = class(TCollectionItem) и TCallParams = class(TCollection)

Есть собственный менеджер форм, в котором регистрируются окна. И вызов происходит типа вот так: ShowChild(AFormName: String; ACallParams: TCallParams; AFormStyle: TFormStyle). Параметры могут хранить все что угодно (и переменные и объекты), их можно передавать по цепочке, дополняя своими данными. А благодаря AFormStyle форму можно показывать как MDIChild (в режиме, допустим, просмотра), а можно и как Normal or StayOnTop (например, для диалогового окна, требующего вмешательство пользователя)

Добавлено:
А теперь задам вопрос, ради которого пришел:

Иногда при отладке после завершения отлаживаемого приложения студия не выходит из режима отладки. Приходится завершать студию и запускать заново. Сталкивались ли вы с этим? Есть ли способ избавиться от этого?
Автор: Arvur
Дата сообщения: 23.01.2012 11:33
korstin

Цитата:
Иногда при отладке после завершения отлаживаемого приложения студия не выходит из режима отладки.

Я это и у семерки видел. Типа детская болезнь Лечу перезапуском.
Автор: korstin
Дата сообщения: 23.01.2012 12:17

Цитата:
Я это и у семерки видел. Типа детская болезнь

Хм. Сижу на Борланде с пятой версии. Наблюдаю только вот на ХЕ2. Печально
Автор: LG Team
Дата сообщения: 23.01.2012 16:00

Цитата:

Иногда при отладке после завершения отлаживаемого приложения студия не выходит из режима отладки. Приходится завершать студию и запускать заново. Сталкивались ли вы с этим? Есть ли способ избавиться от этого?


Ctrl + F2 мне помогает..

Автор: vez
Дата сообщения: 23.01.2012 16:40

Цитата:
Иногда при отладке после завершения отлаживаемого приложения студия не выходит из режима отладки. Приходится завершать студию и запускать заново. Сталкивались ли вы с этим? Есть ли способ избавиться от этого?


Эта болезнь действительно существует на всех версиях начиная с ранних (~2001-2003 годов). иногда раз в день встречается а иногда реже и Ctrl-F2 не всегда помогает, бывает виснет намертво и только убить среду через ПМ можно, а приходится и ресет винде делать в особо мёртвых случаях. Это было на ХР и на Вин7 не исчезло. Зависит от сложности программы и наличия потоков в ней, да и от ошибок программиста тоже. Особенно часто приключается если идёт отладка взаимодействия с железом.
Иногда удаётся уменьшить такие проблемы ограничив запуск среды на одном ядре/процессоре.

Кстати сталкивался с подобными проблемами и на Вижуал Студии.
Автор: salexn1
Дата сообщения: 24.01.2012 12:49
кто-нить уже попробовал LiveBinding?
Стоит с ним связываться или нет?
Автор: druff
Дата сообщения: 26.01.2012 12:10
salexn1
а есть альтернатива?
Автор: salexn1
Дата сообщения: 26.01.2012 13:12
druff
есть - не связываться.
как-то же жили до этого времени и без него
Автор: druff
Дата сообщения: 26.01.2012 13:47
жили, но приходилось биндинг своими руками делать

есть ещё третий вариант - посмотри этот блог http://delphisorcery.blogspot.com/
пишут некую альтернативу под названием DSharp, с исходниками на гуглкод. Есть и сравнение с ливбиндинг
Автор: Frodo_Torbins
Дата сообщения: 26.01.2012 14:55
salexn1
Если пишете на FM, то выбора у вас все равно нету. То же самое и в случае, когда у нужного контрола нету БД версии. Во всех остальных случаях стандартные БД механизмы предпочтительнее из-за большей скорости работы.
Автор: druff
Дата сообщения: 26.01.2012 15:13
Frodo_Torbins
да, до тех пор пока не понадобится сервер приложений.. Ну и условно говоря все эти DBGrid'ы это не механизмы БД. это только интерфейсная часть, которая умеет работать только с БД и только напрямую. А когда хочется работать с каким-то третьим слоем (объектами в памяти, которые создал сам пользователь) то тут приходится исхитряться и использовать ещё одного посредника - датасеты в памяти.
Автор: Frodo_Torbins
Дата сообщения: 26.01.2012 16:40
druff
Да, в таком случае лайв биндинги тоже могут быть полезны.
Кстати на кодерейдж были и примеры их использования вообще в отрыве от интерфейса. Но то ли примеры эти были не очень, то ли у меня с воображением не очень, но мне казалось что с каждым из этих примеров лучше бы справился полноценный скриптовый движек.
Автор: druff
Дата сообщения: 27.01.2012 09:41
Frodo_Torbins
тоже? а какая альтернатива? пытаюсь разобраться с орм под делфи, вроде TiOPF и ему подобным, но пока до использования в реальной задаче - руки не доходят.
Автор: korstin
Дата сообщения: 27.01.2012 10:42

Цитата:
Ctrl + F2 мне помогает

Везет. Мне - нет. Никакой реакции на это. Кнопки запуска станут доступны, если дважды кликнуть на сам проект в дереве проектов. Но при повторной попытке запуска скажет что есть уже процесс, с вариантами Attach / Terminate / что-то еще (пишу по памяти, может что перепутал). И помогает только рестарт студии.
Автор: Frodo_Torbins
Дата сообщения: 27.01.2012 11:28
druff
С ORM я тоже пока не разбирался, хотя посты на эту тему на фидсах проскакивали.
Автор: korstin
Дата сообщения: 27.01.2012 13:46
Frodo_Torbins, druff
На всякий случай, если пропустили: у TMS тоже есть ORM
Автор: Frodo_Torbins
Дата сообщения: 27.01.2012 14:26
korstin
Вы его использовали? Какие у него преимущества, недостатки, и вообще впечатления?

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738

Предыдущая тема: Как сделать offline версию сайта со встроенным браузером?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.