Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.03.29;
Скачать: CL | DM;

Вниз

Может ли существовать форма без 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.02 c
2-1234250798
Iriss
2009-02-10 10:26
2009.03.29
наследник TObjectList


4-1207047506
kolj
2008-04-01 14:58
2009.03.29
Tapi -> CallBackFunction


1-1208178791
Версия для печати
2008-04-14 17:13
2009.03.29
Как сменить цвет заголовка колонок ListView?


4-1207281000
Тыщ
2008-04-04 07:50
2009.03.29
Функции в TlHelp32


2-1233305201
mobwar
2009-01-30 11:46
2009.03.29
Замена двух, трёх символов на один