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

Вниз

опять про GRush   Найти похожие ветки 

 
grim   (2007-09-15 22:17) [0]

Всем доброго времени суток, вопрос мой касаеься работы с Grush,
как я понял пакет ToGrush, как раз и предназначен для переноса готого проекта, путем добовления его  в Uses, но у меняв возникло пару проблем:
1) ToGrush местическим образом исчезает из Uses, когда например перемещаю компоненты..
2) в нем идет замена функции MessageBox, на свою, но у меня почему то она отображаеться без "GRush-эффекта", да и еще нельзя ли также отображать как в обычном мессажд боксе иконку сообщения(слева от текста сообщения)


 
homm ©   (2007-09-15 23:02) [1]

> опять про GRush

Уф… Зачем пугать? :) Вопрос не по GRush, а по ToGrush :)


 
Danger ©   (2007-09-16 13:24) [2]


> grim   (15.09.07 22:17) 
> Всем доброго времени суток, вопрос мой касаеься работы с
> Grush,как я понял пакет ToGrush, как раз и предназначен
> для переноса готого проекта, путем добовления его  в Uses,
>  но у меняв возникло пару проблем:1) ToGrush местическим
> образом исчезает из Uses, когда например перемещаю компоненты.

Добавляйте вызовы своих модулей после (place your units here->). Например, было:
uses Windows, Messages, KOL, KOLQProgBar {$IFNDEF KOL_MCK}, mirror, Classes, Controls, mckControls, mckObjs, Graphics,  mckQProgBar,
 mckCtrls {$ENDIF (place your units here->)};

Добавляем свой модуль:
uses Windows, Messages, KOL, KOLQProgBar {$IFNDEF KOL_MCK}, mirror, Classes, Controls, mckControls, mckObjs, Graphics,  mckQProgBar,
 mckCtrls {$ENDIF (place your units here->)}, ToGrush;

Блок uses пересоздается каждый раз при модификации MCK-проекта, поэтому помещайте ссылки на сторонние модули в конец блока.


 
grim   (2007-09-16 16:33) [3]

Danger ага спачибо, а по поводу MessageBox можете чтонибудь подсказать?!


 
grim   (2007-09-16 16:33) [4]

Danger ага спачибо, а по поводу MessageBox можете чтонибудь подсказать?!


 
Vladimir Kladov   (2007-09-16 19:54) [5]

Посмотрите, каким IFDEF эта замена обрамлена, и добавьте соответствующий символ в свойтсва проекта (билд не забудьте).


 
vampir_infernal   (2007-09-16 20:47) [6]

На счет замены MessageBox. Не знаю, была ли эта проблема еще у кого-то, кроме меня, но при использовании вышеупомянутой замены размер exe-файла увеличивается на ~50 килобайт, и в map-файле появляются упоминания SysUtils, VarUtils и других "тяжеловесных" модулей.

И еще. В модуле ToGrush в 777й строке нужно заменить string на KOLString:
 
C: PCanvas;
s: KOLString;
Cside: Integer;


строка 896. Заменить PChar на PKOLChar:
     Windows.DrawTextEx( C.Handle, PChar( s ), Length( s ),
       R, DT_LEFT or DT_SINGLELINE {$IFDEF RED_ACCELERATORS} or DT_HIDEPREFIX {$ENDIF}, nil );
на
     DrawTextEx( C.Handle, PKOLChar( s ), Length( s ),
       R, DT_LEFT or DT_SINGLELINE {$IFDEF RED_ACCELERATORS} or DT_HIDEPREFIX {$ENDIF}, nil );


строка 992. Дописать вызов  Free_And_Nil( MenuBmp );
в конец функции OwnerDrawMenuItem, иначе fastmm указывает на утечку памяти.

Спасибо.


 
Barloggg   (2007-10-09 14:30) [7]

еще про Grush
а можно их создавать c windowed = false?


 
homm ©   (2007-10-09 14:31) [8]

> [7] Barloggg   (09.10.07 14:30)
> а можно их создавать c windowed = false?

Нет. А зачем?


 
Barloggg   (2007-10-09 14:40) [9]

наверное для прикола.
подумал что мое приложение в котором штук пятьсот всяких контролов может воспользоваться фишкой с графическими контролами, и я глобально подставил конструкторы для графических объектов. в результате счетчик объектов GDI с 400 упал до 120. неплохо.
однако это приложение опционально использует Grush. то есть запуск без параметра - Grush с параметром - графические.
разница во времени запуска появилась.

ну вот и логичная мысль, а можно ли? ну нельзя, так нельзя.
кстати подключение графических контролов добавило 6 кб. к уже существующим 577кб... гм.


 
homm ©   (2007-10-09 14:52) [10]

> [9] Barloggg   (09.10.07 14:40)
> разница во времени запуска появилась.

тоесть? В какую сторону? Неужели с графическими контролами медленнее стало? :)


 
Barloggg   (2007-10-09 15:03) [11]

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

так что с графическими контролами запуск быстрее. две секунды против трех-четырех секунд с Grush.
всякие там onMessage для каждой кнопки мне не нужен.

вот была бы возможность создание части контролов производить после отрисовки формы, это было-бы иногда полезно, но MCK такого и не думает делать.


 
homm ©   (2007-10-09 15:05) [12]

> [11] Barloggg   (09.10.07 15:03)
> вот была бы возможность создание части контролов производить
> после отрисовки формы, это было-бы иногда полезно, но MCK
> такого и не думает делать.

А у тебя все 400 контроллов на одной форме?


 
Barloggg   (2007-10-09 15:07) [13]

да.
только разложены по куче вкладок.

это генератор карт для игры. там туча всяких движков, ползунков кнопочек, фишечек.


 
Vladimir Kladov ©   (2007-10-09 16:28) [14]

была бы возможность создание части контролов производить после

Для этого могут пригодиться фреймы. Советую.


 
Barloggg   (2007-10-09 16:55) [15]

хм. фреймы.
почему бы и нет?
вкурил пример... неплохо.

спасибо.

правда демка скомпилиться отказалась... :) ну да ничего.


 
ANTPro ©   (2007-10-09 17:22) [16]

> [5] Vladimir Kladov   (16.09.07 19:54)
> (билд не забудьте).

Да, ребилдол — хорошее лекарство :o)


 
Barloggg   (2007-10-15 09:09) [17]

насчет фреймов...
сделал парочку.

перебросил туда полсотни контролов. простым вырезанием и вставкой.
пару часиков занимался восстановлением слетевших методов, кстати очень интересно потерянных, VCL их потерял, а МСК не совсем :) если так можно выразиться.
пришлось воспользоваться inc файлом для сравнения.

так вот результат... своеобразный.
программа при запуске не создавая фреймы стала занимать на 1мб больше. было 13 стало 14. гм.
а при создании фреймов так и вообще на 3 мб больше чем без фреймов вообще.
это какой-то хитрый план?

кстати время запуска на глазок не изменилось, на пламенном-то проце...


 
Barloggg   (2007-10-15 10:11) [18]

гм. насчет объемов похоже я неправ.
на рабочей машине от intel все работает как должно. и по расходу памяти и по скорости. причем от винды к винде расход памяти изменяется. во дела!

кстати на 64битной винде замечены траблы с грушами выровненными по caTop и NEW_ALIGN, правда данных маловато для однозначной формулировки.


 
homm ©   (2007-10-15 10:32) [19]

> [18] Barloggg   (15.10.07 10:11)
> кстати на 64битной винде замечены траблы с грушами выровненными
> по caTop и NEW_ALIGN

1) Как может влиять, граши или не граши учавствуют в алгне?
2) Как 64-х битность может влиять на приожение, если оно 32-х битное, и Майкросовт гарантирует его правльную работу? :)


 
Barloggg   (2007-10-15 11:01) [20]

однако ребилдол становится обязательным когда речь идет о многофреймовом приложении

homm я пока непонял как этот глюк возник, и возник ли он вообще, но заметил такую вещь:
1. список из радиобоксов. большой. достаточно чтобы вылезти за края скроллбокса.
2. груши выглядят так как будто их ширина скажем пикселей 40 то есть видно одну букву и троеточие.
3. при наведении глюки с отрисовкой, и через клик-другой вылетает сообщение об ошибке, но приложение не бабахает и эти сообщения формируют длинннннную полосу при каждом движении мыши над грушем.
выключаю стиль груш и все в порядке.

вариантов 2
дома ХР 64 бит
дома колмск 2.50

так что пока я ничего не утверждаю, и судя по твоей реакции это мои проблемы :)


 
homm ©   (2007-10-15 11:16) [21]

> [20] Barloggg   (15.10.07 11:01)
> так что пока я ничего не утверждаю, и судя по твоей реакции
> это мои проблемы :)

Да почему, же если реально проблема есть и ее удастся выделить, подумаем, что можно сделать, но в то, что написано выше слабо верится, скорее разница в версии КОЛ.


 
Дмитрий К ©   (2007-10-15 11:20) [22]

to Barloggg:  
Logitech Setpoint случаем не установлен?


 
Barloggg   (2007-10-15 14:12) [23]

to Дмитрий К
а что это?
звучит как прога-прибабах на мышь


 
Vladimir Kladov ©   (2007-10-15 15:16) [24]

Версия KOL обновлена? ToGRush используете?


 
Дмитрий К ©   (2007-10-15 15:19) [25]


> а что это?
> звучит как прога-прибабах на мышь

Драйвер для мышей и клавиатур Logitech.
Просто у меня на Vista x64 тоже наблюдаются глюки с отрисовкой грашей, но только с запущенным SetPoint.


 
homm ©   (2007-10-15 15:34) [26]

> [25] Дмитрий К ©   (15.10.07 15:19)
> Просто у меня на Vista x64 тоже наблюдаются глюки с отрисовкой
> грашей, но только с запущенным SetPoint.

Мистика :)


 
Vladimir Kladov ©   (2007-10-16 19:43) [27]

Вот такое изменение попробуйте:

procedure TGRushControl.TimerEvent(Data: PGRushData);
var     FromBitmap: PBitmap;
       ToBitmap: PBitmap;
       W, H: Integer;
begin
if not Visible then Exit; //+++


 
Barloggg   (2007-10-17 09:13) [28]

но вот в чем странность.
приношу я этот откомпилированный ехе-шник на другую машину и все в порядке!
скрин глюка здесь
http://slil.ru/24989087
скомпилино в КОЛ2.50, ну не донес я до дома последнюю, каюсь.
забавно после ресайза часть контролов выправилась.
значит каким-то образом алигн таки причастен, похоже этот скрин будет любопытен и вам Владимир.

я использовал директиву UseGrush.
Но вспонив, что нечто подобное использовалось в ToGrush я ее изменил, эффект не изменился.

я полагаю здесь не в том дело что visible / неvisible а скорее в том, какие координаты дает винда контролу.
контрол-то рисуется, ну да смотрите вышеуказанный скрин.
сейчас сброшу на флеш последнюю версию КОЛ и вечером проверю.


 
Barloggg   (2007-10-17 09:42) [29]

кстати памятуя ММХ и разговор про глюки в зоомере стоит добавить что у меня двухядерный 64битный атлон. и 64битная винхр.
ибо на 32битной вин2к на целероне с этим-же ехешником все в порядке.


 
Vladimir Kladov ©   (2007-10-17 15:20) [30]

Моё письмо опять не увидено. Вот отсюда возьмите и попробуйте вариант KOLGrushControl с несколькими моими правками: http://kolmck.net/test/KOLGRushControls.rar


 
Barloggg   (2007-10-17 16:45) [31]

Владимир, ну почему же не увидено. если вы имеете ввиду [27], то даже ответ написан :)
файлик скачал, посмотрю.
Спасибо.


 
homm ©   (2007-10-17 16:48) [32]

> [31] Barloggg   (17.10.07 16:45)
> Владимир, ну почему же не увидено. если вы имеете ввиду
> [27], то даже ответ написан :)

Мисьмо мне было, я его и правда еше не видел.


 
Vladimir Kladov ©   (2007-10-17 18:17) [33]

Я жду результата тестирования, поскольку это дело у меня вылетало регулярно без этих пары правок. Нет, это не связано с многоядерностью точно. Проблемы с зумом были в других местах (и сейчас, похоже, продолжаются кое-где). Здесь вылеты были на фоне в настоящий момент не видимых GRush-контролов, особенно часто это стало проявляться после подмены скроллов, где элементы могут специально прятаться при ненадобности. Может быть даже имеет смысл использовать для проверки ToBeVisible а не Visible (я не использую таб-контрол, может поэтому пока не ощутил разницы).


 
Barloggg   (2007-10-29 10:29) [34]

кстати граши падать не перестали.
после всех установок/переустановок :)

поведение осталось то же.
только ошибка не выскакивает, а прога молча закрывается.
странная поддержка ММХ в атлон64х2 под вин64?


 
Vladimir Kladov ©   (2007-10-29 15:48) [35]

Но вы же можете проверить, найти место где что происходит, это ведь в вашей программе, так? Включите Environment | Debugger | ... | Stop on Delphi Exceptions, сделайте билд со всей возможной отладочной информацией, в момент падения просмотрите стек. Надо же понять, что не работает. Если Delphi не может, то поставьте MS VC++ .NET 2003-2005, любой в общем. Установите его как отладчик по умолчанию, в момент падения выберите Debug, когда он загрузится, там вообще весь стек показывает, даже лишние пункты.


 
homm ©   (2007-10-29 23:45) [36]

Поставил ХРх64. Ничего вроде не поламалось, кроме русских надписей, которые поломались во всех дельфи прогах, т.к. винда аглицкая.
В общем бубен в студию…


 
Vladimir Kladov ©   (2007-10-30 16:43) [37]

Еще на зумер можно посмотреть. Если он НЕ падает, в граше, тогда это странно.


 
homm ©   (2007-10-30 22:24) [38]

> [37] Vladimir Kladov ©   (30.10.07 16:43)
> Еще на зумер можно посмотреть. Если он НЕ падает, в граше,
> тогда это странно.

Владимир, скачал Зумера с вашего сайта, запустил установку, и вот что я вижу:
http://homm86.narod.ru/files/zoomer.png

Самое интересное, что винда 32-х битная :)

Тип компьютера Однопроцессорный компьютер с ACPI
Операционная система Microsoft Windows XP Professional
Пакет обновления ОС Service Pack 2
Internet Explorer 6.0.2900.2180 (IE 6.0 SP2)
DirectX 4.09.00.0904 (DirectX 9.0c)
Имя пользователя Администратор
Тип ЦП AMD Sempron, 2400 MHz (8 x 300)
Чипсет системной платы nVIDIA nForce4, AMD Hammer
Системная память 1024 Мб  (DDR2-667 DDR2 SDRAM)
Тип BIOS Award (02/08/07)
Видеоадаптер NVIDIA GeForce 7600 GT  (256 Мб)


 
homm ©   (2007-10-30 22:37) [39]

64-бит ХР,
То-же самое с точностью до оформления окна дебагера по умолчанию.


 
homm ©   (2007-10-31 12:32) [40]

> [38] homm ©   (30.10.07 22:24)
> Владимир, скачал Зумера с вашего сайта, запустил установку,
> и вот что я вижу:

Все в порядке :) Результат воспроизводимый на многих машинах, а не только у меня дома такая фигня…



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

Форум: "KOL";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.041 c
2-1218740621
Alex_Storm
2008-08-14 23:03
2008.09.28
Скрыть вкладку


15-1216037491
sD
2008-07-14 16:11
2008.09.28
Структура приложение на Delphi + MS SQL


2-1218665013
начинающий
2008-08-14 02:03
2008.09.28
DateTimePicker


15-1218034460
alex-drob
2008-08-06 18:54
2008.09.28
Новый закон о безнадзорности


2-1218603223
Кирей
2008-08-13 08:53
2008.09.28
Коментарии в тексте запроса





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский