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

Вниз

опять про 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 вся ветка

Текущий архив: 2008.09.28;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.02 c
2-1218983039
demon
2008-08-17 18:23
2008.09.28
Уход курсора мыши с облости окна


2-1219122526
kate158
2008-08-19 09:08
2008.09.28
сдвиг данных в dbgrid e на 1 вверх


15-1218084845
stas
2008-08-07 08:54
2008.09.28
Вопрос по HTML


15-1218125932
ProgRAMmer Dimonych
2008-08-07 20:18
2008.09.28
Системе не удаётся найти указанное устройство


15-1218038593
Железный Арни
2008-08-06 20:03
2008.09.28
Устаревшие компьютеры и Cobol встали на пути Шварценеггера