Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2009.03.29;
Скачать: [xml.tar.bz2];

Вниз

Может ли существовать форма без Applicationа?   Найти похожие ветки 

 
@!!ex ©   (2008-04-13 15:46) [0]

Есть WinAPi проект. Свое создание окон, своя обработка сообщений.
Понадобилось сделать отдельное окошко с контрольными жлеменатми(кнопками, списоками и т.д.) очень не хочется делать это на WinAPI.
Интересует, возможно ли внедрить VCL\LCL в это приложение.
Вернее что возможно - это понятно. Вопрос в том, насколько затратно и  долго.


 
palva ©   (2008-04-13 15:52) [1]

Без Application это вряд ли. Ведь для того, чтобы создать форму нужно выполнить метод Application. А чтобы форма заработала, необходимо чтобы закрутился цикл обработки сообщений в Application. Как это будет без летального исхода совмещаться с вашим собственным циклом обработки сообщений - непонятно.


 
palva ©   (2008-04-13 15:54) [2]

Может быть, вам стоит обратиться к знатокам KOL. Говорят, им удалось скрестить ежа с ужом.


 
@!!ex ©   (2008-04-13 16:14) [3]

Мне сейчас  было сказано, что Application существует всегда, если подключан модуль Forms.
И достаточно вызывать Application.PrecessMessages для корректной обработки сообщений.
Буду проверять.


 
Семеныч   (2008-04-13 16:44) [4]

> @!!ex ©   (13.04.08 15:46)

Предположим, что у Вас все получилось. Но тогда сразу возникает вопрос - если VCL все равно использована, то не потеряло ли смысл все остальное? Вот это: "Свое создание окон, своя обработка сообщений" - ради чего тогда оно надо?


 
@!!ex ©   (2008-04-13 18:34) [5]

> Предположим, что у Вас все получилось.

Все получилось.


> Но тогда сразу возникает вопрос - если VCL все равно использована,
> то не потеряло ли смысл все остальное? Вот это: "Свое создание
> окон, своя обработка сообщений" - ради чего тогда оно надо?

Нет не потеряло.
Движок используется один и тот же. Что для непосредственно игры, что для просмоторщика моделей(это как раз то, что я сейчас делаю).
Но движок - Full API, а просмоторщик, с LCL формой управления. Для того, чтобы форму из просмоторщика убрать - надо закомментить 10 строк, и останется вполне себе API приложение. Тоже самое с главным проектом. Его можно компилить как полностью API, так и с LCL надстройками.

P.S.
Против LCL Ничего не имею, но движок не буду никогда писать, потому что предпочитаю все контролировать. Уж лучше я напишу пару модулей низкоуровневых, но буду в них уверен.
А LCL оставлю для внутренних проектов, которые дальше нашей конторы не пойдут.


 
@!!ex ©   (2008-04-13 18:42) [6]

> [4] Семеныч   (13.04.08 16:44)

Вообще изначально подразумевалось, что просмоторщик будет полностью на LCL, но там возник косяк с отрисовкой. Как его решить, не сказали ни на этом форуме, ни на FreePascal.ru.
Поэтому я окно главное рисую средствами API, а контрольку LCL.
Так и не потерял удобства визуального конструирования интерфейса, и при этом сохранил нормальный рендер моделей.


 
tesseract ©   (2008-04-13 18:44) [7]


> Но движок - Full API, а просмоторщик, с LCL формой управления.


Запарил ты своим FP. Ну и иди в соотвествующий топик. Тут только VCL обсуждаеться. Application - это просто цикл обработки ключевых событий + десяток обёрток незначительных.


 
@!!ex ©   (2008-04-13 19:13) [8]

> [7] tesseract ©   (13.04.08 18:44)

Ты модератор? Не устраивает - жалуйся модераторам. Либо проси, чтобы тебе плюсомет дали.
Вопрос не по FP. Application в и дельфи также работает.


 
@!!ex ©   (2008-04-13 19:15) [9]

> [7] tesseract ©   (13.04.08 18:44)

Даю тебе персональное разрешение мои темы не читать.


 
Leonid Troyanovsky ©   (2008-04-13 19:48) [10]


> @!!ex ©   (13.04.08 18:34) [5]

>  потому что предпочитаю все контролировать. Уж лучше я напишу
> пару модулей низкоуровневых, но буду в них уверен.

Исходя из объявленных предпочтений можно предположить,
что продолжить писать все на win32 API предпочтительней.

По-краней мере, тратить время на совмещение кислого с мягким,
IMHO, не потребуется, а одно окно, даже со списками, можно создать
путем, например, CreateDialog.

--
Regards, LVT.


 
tesseract ©   (2008-04-13 19:54) [11]


> Даю тебе персональное разрешение мои темы не читать.


см


> Leonid Troyanovsky ©   (13.04.08 19:48) [10]


Да и зачем тебе  в 3D формы ?  Напиши свой FW - проще потом баги разгребать. Opnegl+ VCL -  я это врагу не пожелаю.


 
@!!ex ©   (2008-04-13 19:55) [12]

> [10] Leonid Troyanovsky ©   (13.04.08 19:48)

Это критично для основного проекта, который распространять. А для внутреннего использования можно и LCL юзать.
Просто нужно набросать побыстренькому интерфейс для внутренних утилит, надежность тут не сильно важна.
А вот для внешнего проекта надежность - на первом месте.


 
Leonid Troyanovsky ©   (2008-04-13 20:00) [13]


> @!!ex ©   (13.04.08 19:55) [12]

> Это критично для основного проекта, который распространять.
>  А для внутреннего использования можно и LCL юзать.

Я не знаю, кто такой LCL (да и нет особого любопытства),
но если требования к внутреннему использованию будут
ниже, чем к внешнему, то внутренние, рано или поздно,
туда прорвутся.

--
Regards, LVT.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2009.03.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.048 c
2-1233895829
des
2009-02-06 07:50
2009.03.29
Как отловить ошибку 405?


2-1233662510
seferot
2009-02-03 15:01
2009.03.29
Удаление записи типа record.


2-1233776507
Ramil
2009-02-04 22:41
2009.03.29
TEdit как калькулятор


15-1232265533
{RASkov}
2009-01-18 10:58
2009.03.29
Возможности вирусов заражать из сети


2-1233570147
CodeMaster
2009-02-02 13:22
2009.03.29
Отключение скроллбаров





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский