Windows 7 Taskbar
Модератор: Модераторы
Windows 7 Taskbar
Так для общего развития
http://www.gumpi.com/Blog/2009/01/21/Wi ... skbar.aspx
качать http://www.gumpi.com/Downloads/Delphi/Win7Comp.zip
Описание\компоненты для работы с некоторыми возможностями Windows 7, например, полезны для DoubleCommandera - показывать на таскбаре, при свернутом сотоянии прогресс копирования.
ev: удалена ссылка на картинку (нет ответа от сервера)
http://www.gumpi.com/Blog/2009/01/21/Wi ... skbar.aspx
качать http://www.gumpi.com/Downloads/Delphi/Win7Comp.zip
Описание\компоненты для работы с некоторыми возможностями Windows 7, например, полезны для DoubleCommandera - показывать на таскбаре, при свернутом сотоянии прогресс копирования.
ev: удалена ссылка на картинку (нет ответа от сервера)
Кто то может перевести под Lazarus компонент Windows 7 Taskbar Components http://delphi.fsprolabs.com/ ? Он у меня компилируется но Лазарус при установленном пакете не запускается, знаний мне не хватает
А зачем он нужен, если он немультиплатформный
mig-31 писал(а):А зачем он нужен, если он немультиплатформный
Зачем машины переднеприводные, если они только по асфальту ездить могут?
Sharfik писал(а):Зачем машины переднеприводные, если они только по асфальту ездить могут?
Машины тут не причем. Компонент Windows only.
Упомянутый вами DoubleCommandera кроссплатформен. Использование компонента усложнит код.
Или можете добавить поддержку Qt и GTK для других OS.
mig-31, прежде чем писать прочитай дважды кто и что писал
Машина - причем, это простейшее сравнение на пальцах и ответ зачем. Машина нужна чтобы ездить, компонент нужен чтобы отображать процесс работы программы. Если автор какой то программы добавит его в код и в одной ОС будет использоваться привычный для пользователей способ вывода данных, то ничего в этом плохого нет. Крича про кросплатформенность, высасывать проблемму из пальца глупо.
Машина - причем, это простейшее сравнение на пальцах и ответ зачем. Машина нужна чтобы ездить, компонент нужен чтобы отображать процесс работы программы. Если автор какой то программы добавит его в код и в одной ОС будет использоваться привычный для пользователей способ вывода данных, то ничего в этом плохого нет. Крича про кросплатформенность, высасывать проблемму из пальца глупо.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Sharfik, если lazarus позиционируется как кроссплатформенное средство, то нет смысла туда пихать модули работоспособные только в одной системе, да еще и не во всех ее версиях (!). Кроме того, Майкрософт славится своей привычкой менять как структуру системы (в том числе программную), так и ее дизайн. Есть вероятность, что в последующих версиях виндовс приятный тебе фокус перестанет работать. И тогда пользователи не погладят программиста по голове...
мда..., зачем такую чушь писать?
человеку надо компоненты в лазарус засунуть - а ему - "lazarus позиционируется как кроссплатформенное средство", "менять как структуру системы"...
ну да, конечно, надо делфу купить за пару тыщ баксов, перегнать под нее проект, и все потому что ктото в своих фантазиях делает проги без учета особенностей разных платформ.
человеку надо компоненты в лазарус засунуть - а ему - "lazarus позиционируется как кроссплатформенное средство", "менять как структуру системы"...
ну да, конечно, надо делфу купить за пару тыщ баксов, перегнать под нее проект, и все потому что ктото в своих фантазиях делает проги без учета особенностей разных платформ.
sts писал(а):ну да, конечно, надо делфу купить за пару тыщ баксов, перегнать под нее проект, и все потому что ктото в своих фантазиях делает проги без учета особенностей разных платформ.
Они не знают, что Win и Linux принципиально разные среды, что в них одинакового только наличие кнопок и окошки в гуи.
Лекс Айрин писал(а):Sharfik, если lazarus позиционируется как кроссплатформенное средство, то нет смысла туда пихать модули работоспособные только в одной системе, да еще и не во всех ее версиях (!). Кроме того, Майкрософт славится своей привычкой менять как структуру системы (в том числе программную), так и ее дизайн. Есть вероятность, что в последующих версиях виндовс приятный тебе фокус перестанет работать. И тогда пользователи не погладят программиста по голове...
к слову говоря, в начале года видел вопрос о возможности сделать эффекты компонентов этих под lazarus и тогда парню ответили что это не возможно.
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
mdli писал(а):Кто то может перевести под Lazarus компонент Windows 7 Taskbar Components http://delphi.fsprolabs.com/ ? Он у меня компилируется но Лазарус при установленном пакете не запускается, знаний мне не хватает
При таких проблемах можно использовать gdb.exe следующим способом
1. Запускаем консоль
2. Переходим в папку с установленным Lazarus
3. Запускаем gdb.exe lazarus.exe
4. Когда увидели в консоли приглашение gdb
lazarus>gdb.exe lazarus.exe
GNU gdb (GDB) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from lazarus.exe...done.
(gdb)
Набираем команду run
5. Наше приложение валится с ошибкой, которая отображается в выводе gdb
(gdb) run
Starting program: lazarus.exe
[New Thread 3988.0xeec]
[New Thread 3988.0x4d8]
Program received signal SIGSEGV, Segmentation fault.
0x0058d7cc in TWINCONTROL__HANDLEALLOCATED (this=<error reading variable>) at ./include/wincontrol.inc:7237
7237 HandleAllocated := (FHandle <> 0);
(gdb)
6. Вводим команду bt и получаем стек со строкой, на которой наше приложение упало с ошибкой
(gdb) bt
#0 0x0058d7cc in TWINCONTROL__HANDLEALLOCATED (this=<error reading variable>) at ./include/wincontrol.inc:7237
#1 0x0058fe01 in TWINCONTROL__HANDLENEEDED (this=<error reading variable>) at ./include/wincontrol.inc:7677
#2 0x0058c091 in TWINCONTROL__GETHANDLE (this=<error reading variable>) at ./include/wincontrol.inc:6354
#3 0x00c33d13 in FSPTASKBARCOMMON_init () at fspTaskbarCommon.pas:27
#4 0x0040ec34 in fpc_initializeunits ()
#5 0x7efde000 in ?? ()
#6 0x004138e1 in SYSTEM_EXE_ENTRY$TENTRYINFORMATION ()
В данном случае, Lazarus упал на 27 строке в файле fspTaskbarCommon.pas
P.S. Приложение должно быть собрано с отладочной информацией
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
sts писал(а):ну да, конечно, надо делфу купить за пару тыщ баксов, перегнать под нее проект, и все потому что ктото в своих фантазиях делает проги без учета особенностей разных платформ.
А нафига мне дельфи? Мне надо чтобы прога запускалась на разных платформах... а на рюшки плевать -- усилия потребные на их реализацию(если совсем уж делать нечего) я лучше кину на, допустим, нормальную реализацию полупрозрачности. от нее хоть польза будет. А если использовать не кросплатформенные компоненты, то я запутаюсь в том, что где необходимо делать.
Лекс Айрин писал(а):А нафига мне дельфи? Мне надо чтобы прога запускалась на разных платформах... а на рюшки плевать -- усилия потребные на их реализацию(если совсем уж делать нечего) я лучше кину на, допустим, нормальную реализацию полупрозрачности. от нее хоть польза будет. А если использовать не кросплатформенные компоненты, то я запутаюсь в том, что где необходимо делать.
С этого и надо начинать - "вам надо на то чтобы она запускалась везде где попало, в ущерб удобствам", а мне нужны программы которыми пользоваться удобно, и плевать что они могут не собираться под Мак или Линукс.
У всего свое ТЗ. И говорить что " нет смысла туда пихать модули работоспособные только в одной системе, да еще и не во всех ее версиях" глупо, не зная требований конкретного случая.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Sharfik, мне надо чтобы оно работало... пусть и не везде, но хотя бы на win/nix платформах. Поэтому, собственно, и используется Lazarus ибо... "Write once - compile everywhere!". Если бы мне нужна была бы wintel платформа, то я выбрал бы другой компилятор. Или даже другой язык.
Не могу придумать ни одной уважительной причины, согласно которой имело способ реализовывать подобную топику плюшку. Удобно... не уверен. Зато есть отличная от нуля вероятность, что данной приблуды в следующих версиях windows не будет. Вообще. Для примера, достаточно сравнить функционал Win7 и Win8.
Sharfik писал(а):У всего свое ТЗ. И говорить что " нет смысла туда пихать модули работоспособные только в одной системе, да еще и не во всех ее версиях" глупо, не зная требований конкретного случая.
Не могу придумать ни одной уважительной причины, согласно которой имело способ реализовывать подобную топику плюшку. Удобно... не уверен. Зато есть отличная от нуля вероятность, что данной приблуды в следующих версиях windows не будет. Вообще. Для примера, достаточно сравнить функционал Win7 и Win8.
Лекс Айрин писал(а): Удобно... не уверен. Зато есть отличная от нуля вероятность, что данной приблуды в следующих версиях windows не будет. Вообще. Для примера, достаточно сравнить функционал Win7 и Win8.
В Win7,8 это есть.. в 10 сам не видел, говорят что есть.
Сегодня делал расчет освещения для поселка(я не программист по работе, если что), и вот нафиг не сдалось мне окно выполнения задачи. Чтобы было понятнее - 20% работы выполнялось час, думаю весь расчет если бы не тормознул часов на 8. При этом, при переключении на программу она подтупливает, отрисовывая трехмерку которая на фоне процесса есть. Мне совсем не прикольно было переключаться на процесс, который в фоне выполняется, чтобы посмотреть закончился он или нет. Если бы там так же прогресс показывался в виде кнопки панели задач, я был бы не против. А дергаться "Ну что программа ты закончила или еще нет?" некому не нравится. Вот зачем такие приблуды, с виду бесполезные, нужны - нервы экономить.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Sharfik, для этого можно, например, проиграть звуковой сигнал при окончании копирования. Это проще. Или в заголовке/ подсказке иконки показывать процент выполнения (не время, оно имеет тенденцию врать). А подтормаживать и так висящую систему динамически прорисовывая значок.... может, оставим микроскоп в покое?
К сожалению, это НЕ показатель. Кнопка "Пуск" была с 95й винды... и убрав ее Майкрософт здорово себе подпортила репутацию.
Sharfik писал(а):В Win7,8 это есть.. в 10 сам не видел, говорят что есть.
К сожалению, это НЕ показатель. Кнопка "Пуск" была с 95й винды... и убрав ее Майкрософт здорово себе подпортила репутацию.
