![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Версия 2.40 [Delphi, KOL/MCK, Windows]
Vladimir Kladov © (2006-10-14 12:25:00)Новости от 14 октября 2006 г.
Новости KOL и MCK (v2.40):
[*]KOL: добавлен символ NOT_USE_RICHEDIT, применим, если не
используются контролы rich edit. Отключает весь код, связанный с rich
edit, и ссылку в секции uses на модуль richedit, экономит около 60
байт кода.
[*]KOL: добавлен символ USE_GRAPHCTLS, следует использовать, если в
проекте используются графические контролы, иначе экономится более 100
байт в коде.
[*]KOL: теперь TControl.Caption представляется строкой (AnsiString в
обычном случае, WideString в случае UNICODE_CTRLS).
[*]KOL: в случае SMALLEST_CODE свойство Icon более не назначается
автоматически из ресурса MAINICON для формы/апплета при создании окна,
если не было назначено своим кодом. В противоположном случае (символ
SMALLEST_CODE не используется) теперь можно использовать символ
CUSTOM_APPICON, чтобы использовать собственное имя ресурса для главной
пиктограммы.
[*]KOL: комментарии к TTimer исправлены (давно уже используется не
окно Applet, а отдельное собственное окно).
[+]KOL: добавлена константа Infinity (бесконечное число, как 1/0, в
коде для Free Pascal появляться не будет).
[+]KOL: добавлена функция IsInfinity.
[-]KOL: исправление для версий Delphi 2, 3: удалена директива
{$EXTERNALSYM}, обеспечен вызов inherited для Init в TStrList,
TThread.
[*]KOL: в случае UNICODE_CTRLS функции MsgOK, MsgBox, ShowMsg так же
работают со строкой Unicode и используют соответствующие версии
API-функций.
[*]KOL: добавлен символ CRASH_DEBUG для интенсивного тестирования
обращения к неверной памяти: вся память объекта после деструктора
забивается байтами с шестнадцатеричным кодом $DD.
[+++]KOL: добавлен символ NOT_USE_AUTOFREE4CONTROL. Теперь большую
часть действий по уничтожению подчиненных объектов в деструкторе берет
на себя список fAutoFree, с этой опцией все возвращается к исходному
состоянию. Новый код короче на пару сотен байт.
[*]KOL: изменен метод TObj.Final: объекты, добавленные в список
fAutoFree, уничтожаются теперь в обратном порядке.
[+]KOL: добавлены методы TObj.RemoveFromAutoFree, RemoveFromAutoFreeEx.
[***]KOL: изменен порядок обработки сообщений с целью аккуратного
уничтожения отработавших форм, и корректного завершения приложения.
Изменения в WndFunc, TerminateExecution (asm-версия). Исправлено
неотрабатывание деструкторов форм при завершении приложения.
[+]KOL: добавлен символ BUTTON_DBLCLICK_AS_CLICK: при его наличии
двойной клик левой клавишей мыши на всех кнопках превращается в два
клика в любом случае.
[+]KOL: добавлен символ DEFAULT_CANCEL_BTN_EXCLUSIVE: при его наличии
DefaultBtn и CancelBtn взаимоисключают друг друга. По умолчанию теперь
можно назначать оба эти свойства для кнопки в true одновременно.
[+]KOL: добавлен символ NO_DEFAULT_BUTTON_BOLD: при его наличии кнопка
с DefaultBtn = true не выделяется своей утолщенной границей (не
назначается стиль BS_DEFPUSHBUTTON, но функциональность сохраняется).
[+]KOL: добавлен символ CLICK_DEFAULT_CANCEL_BTN_DIRECTLY: при его
наличии кнопка по умолчанию и кнопка отмены нажимаются не визуально
без передачи фокуса кнопке.
[-]KOL: asm-версии методов TControl.DoSetFocus, TControl.GetHasBorder,
TControl.SetVerticalAlign, TControl.DC2Canvas, TControl.SetTransparent
приведены в соответствие с Паскаль-версиями.
[-]KOL: исправления в методе TControl.IsMainWindow.
[-]KOL: прежняя обработка WM_ENDSESSION в процедуре WndProcForm
отключена (фактически выполняла немедленное завершение приложения
через вызов Halt), теперь этот код можно специально включить символом
ENDSESSION_HALT.
[-]KOL: исправлена процедура JustOneNotify (asm-версия).
[*] Минимальное приложение с пустой формой (без заголовка, со
значениями DefaultSize=true, DefaultPos=true - в случае MCK) занимает
при компиляции в Delphi5 (с заменой системных модулей, при включении
оптимизации и отключении отладочной информации, с символами
SMALLEST_CODE и NOT_USE_RICHEDIT) всего 10,5Кбайт.
[*] В MCK поддержка KOLCtrlWrapper отключена (перестала
функционировать), так что внешний вид формы на этапе разработки теперь
значительно меньше похож на то, что видно после запуска (то есть
теперь NOT_USE_KOLCTRLWRAPPER по умолчанию включен, обратно включать
не следует).
Прочие новости:
[*]написание Книги о KOL продвинулось еще немного - уже 170 страниц.
Новейшую версию пока брать на сайте kolnmck. Обновления - там же (сайт
bonanzas.rinet.ru пока что неисправен).
Vladimir Kladov (2006-10-26 20:33:00) [1]уже есть для GTK+: форма, кнопка, метка, заголовок, события мыши и клика. Пора заняться канвой.
Vladimir Kladov (2006-10-25 16:28:00) [2]мне удобнее отлаживаться в Delphi, а не под FPC, в Windows, а не под Linux'ом. GTK потому, что хотя он и объектно-ориентированный, но интерфейс к нему - это набор плоских функций чистого Си без ++. А значит, не надо никакого враппера, как сделал Borland для Kylix'а. Под виндой легко отлаживаться и из Delphi (только 2 дня ушло на поправке в синтаксисе заголовочных файлов для GTK+ от FPP 2.0.4). Просто установил GTK for Win32 (ссылку давал). Так же, работает и из cygwin (и его же использует FPC). run /tst/prog.exe и все, hello world на экране. Qt тоже можно сделать, у меня идет
{$IFDEF GDI}
... весь прежний код
{$ENDIF}
{$IFDEF _X_}
{$IFDEF GTK}
код для GTK
{$ENDIF GTK}
{$ENDIF _X_}
Можно много разных вариантов добавить, чтобы был выбор. Но с GTK проще начать.
Потоки - какие? (Русский язык немного не видит разницы между stream и thread). Впрочем, я пока никакие потоки и не делал. Часть не оконная ос-зависимая доведена только до файлов, и не отлаживалась еще вовсе. Мне главное GUI сделать, остальное не вижу особых проблем, кроме очевидных отказов от того, что в линуксе по определению быть не может.
ANTPro (2006-10-25 16:24:00) [3]> [108] dmd (25.10.06 07:06)
> его все труднее устанавливать на последних дистрибутивах,
> неопытному пользователю будет сложновато.
У меня Kylix3 без проблем поставился на Delphi7...
noname_ (2006-10-25 14:31:00) [4]2 Vladimir Kladov [101]
Есть контейнер GtkFixed, но использовать его не рекомендуют
dmd (2006-10-25 07:06:00) [5]В конверте под Kylix от Gandalfа потоки не работали для тогдашней версии KOL, а как сейчас? Такой вопрос - почему выбрали Gtk, а не Qt? Просто на Qt базируется KDE, фаворитный desktop engine для Линукса. А про Kylix сейчас, по-видимому, уже можно забыть, его все труднее устанавливать на последних дистрибутивах, неопытному пользователю будет сложновато. Надо затачивать KOL/Linux под последнюю версию FPC, имхо конечно.
MTsv DN (2006-10-24 21:05:00) [6]Владимир,чтобы не "засорять" эту тему,откройте лучше новую...
Vladimir Kladov (2006-10-24 20:38:00) [7]заработало, наконец (gtk для win из Delphi). Ну вот, на сегодня форма запускается. Завтра буду пробовать добавить на нее что-нибудь типа label и button.
Ketmar (2006-10-24 19:56:00) [8]>[103] Vladimir Kladov 24-Oct-2006, 18:49
>еще и угрожать непонятно чем
я, вообще-то, нигде не угрожал. если меня так поняли... я тогда извиняюсь, мне не сложно. %-) извиняюсь. вот. даже два раза. %-)
>помогли бы разобраться
где я ни на что не способен, там я молчу в тряпочку. %-)
Vladimir Kladov (2006-10-24 19:49:00) [9]нет вроде все-таки есть. Доки меня запугали. "В GTK+ вся работа по расположению и изменению размеров виджетов, выполняется за вас автоматически". Ну-ну. gtk_window_resize, gtk_window_move, и снова делаем что хотим (т.е. что надо).
Осталась проблемка: после компиляции из дельфи форма по крестику закрывается, но приложение никак не удается закорчить. Тот же стартовый пример из fpc работает нормально. Хотя, похоже есть разница: дельфийский вариант использует dll. А насчет fpc-шного - не уверен. Может, там код gtk просто в экзешник встраивается.
Vladimir Kladov (2006-10-24 18:49:00) [10]а зачем автору подсказки было мне приводить весь текст. И так понятно, что нужна одна строчка в заголовке.
Чем ерунду обсуждать, еще и угрожать непонятно чем, помогли бы разобраться. Есть все-таки или нет в gtk+ абсолютное позиционирование контролов (ну хорошо, виджетов).
Ketmar (2006-10-24 18:35:00) [11]>[100] Vladimir Kladov 24-Oct-2006, 18:31
>я предлагал попробовать на сайте. Пустая страница?
а где я выдвигал какие-либо претензии к сайту??? кажется, в [94] чётко процитирован тот, кому я отвечал. в [97] я никаких упоминаний о сайте тоже не нашёл, хотя перечитывал раз 5. а с телепатией у меня большие проблемы -- не работает она.
Vladimir Kladov (2006-10-24 18:34:00) [12]С GTK облом, кажется. Что-то я не нахожу там средств абсолютного позиционирование дочерних окон в родительском. Т.е. их там вообще нет. Вместо это панели с принудительным размещением дочерних по вертикали, горизонтали и в ячейках сетки. Теперь буду смотреть Qt, тем более что путь уже был пройден 1,5 раза (Kylix + Gandalf).
Vladimir Kladov (2006-10-24 18:31:00) [13]я предлагал попробовать на сайте. Пустая страница?
Ketmar (2006-10-24 17:35:00) [14]>[97] Vladimir Kladov 24-Oct-2006, 15:47
>ketmar, сначала попробуйте, потом пишите. А то так самому
>как бы...
я, вообще-то, имею обыкновение именно сначала пробовать. я знаю, как ведёт себя подобный html-код в описаных мной условиях. но всё равно не поленился перед написанием поста скопировать его в файл и проверить. а вот Вы, Владимир, за столько лет так и не изменились, сорри... %-(
D[u]fa (2006-10-24 16:56:00) [15]а чего пробовать?
он лишь имел ввиду чтоб добавить ссылку на страницу с редиректом.. ну типа как всегда "если ваш браузер не держит редирект то жмите руками сюда" =)
Vladimir Kladov (2006-10-24 15:47:00) [16]ketmar, сначала попробуйте, потом пишите. А то так самому как бы...
Vedun (2006-10-24 13:46:00) [17]Владимиру Кладову: не забудте в вашей книге исправить ссылку на основной сайт KOL в главе "0.4. Работа в KOL. Поиск информации".
Thaddy (2006-10-24 13:41:00) [18]let me know if the KOL site performance is now ok, gentleman ;)
Ketmar (2006-10-24 01:32:00) [19]>[89] MTsv DN(c) 22-Oct-2006, 12:57
я извиняюсь, но за такой "редирект" надо расстреливать на месте. в body обязанабыть ссылка вида "идём сюда -- url". почему? отключаем в Opera automatic redirection, загружаем эту страничку... ага. пустой экран. злобно материмся, лезем смотреть html-код (попутно мечтая сделать его автора вечным евнухом %-).
зыж сорри, если обидел.
D[u]fa (2006-10-22 23:26:00) [20]у меня есть ацкий Ubuntu если смогу помогу =)