Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26066
Рейтинг: 2120
#1: 2007-01-18 22:41:56 ЛС | профиль | цитата
Galkov. ты не смотрел код компонента Icon. А ведь он глючит при конвертации в BMP, в определенных случаях выдавая вместо нужной иконки, иконку формы при Icon формы = nil и ничего при не нулевой Icon формы. Самое интересное, тот код, который я поправил в IconEx отрабатывает нормально во всех случаях. С примером надо немного повременить, но я его кину обязательно.
карма: 22

0
vip
#1.1контекстная реклама от партнеров
Ответов: 9906
Рейтинг: 351
#2: 2007-01-18 23:15:02 ЛС | профиль | цитата
nesco,
Это Dilma хитрит с иконками

Если CodeGen спрашивает у среды (у Dilma то бишь) имя ресурса для иконки (а в схеме она пустая, к примеру), то среда возвращает 'ASMA'
И если он (Dilma) проставил ее в ресурсы (ничего не назначено в иконках главной форме), то ты ее и получишь
А если назначил - то такого ресурса ('ASMA') нет, и будет все нормально
карма: 9

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#3: 2007-01-18 23:23:23 ЛС | профиль | цитата
Galkov, ага с формой ясно, но какого Icon мне из потока конвертить не хочет, а муть выдает?

[size=-2]------ Добавлено в 23:23
Вот смотри штатный код конвертации
procedure THIIcon._work_doBitmap;
var bmp:PBitmap;
begin
if Icon <> nil then
begin
bmp := NewBitmap(0,0);
bmp.Handle := Icon.Convert2Bitmap(_prop_Transparent);
_hi_OnEvent(_event_onBitmap,bmp);
bmp.Free;
end;
end;[/code]Он не работает нормально, а вот исправленный
procedure ThiIconEx._work_doBitmap;
var bmp:PBitmap;
begin
if (_Data.Data_type <> data_Icon) and (not Assigned(Icon)) then exit
else if (_Data.Data_type = data_Icon) then
begin
if Assigned(Icon) then free_and_nil(Icon);
Icon := NewIcon;
Icon.Handle:= PIcon(_data.idata).handle
end;
bmp := NewBitmap(0,0);
bmp.Handle:= Icon.Convert2Bitmap(_prop_Transparent);
dtBitmap(_Data,bmp);
_hi_OnEvent(_event_onBitmap,_Data);
bmp.Free;
end;
Он работает нормально.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#4: 2007-01-18 23:30:40 ЛС | профиль | цитата
Эти коды функционально отличаются: один берет данные из потока, второй нет
И что после этого значит номально, или не нормально
И что значит муть
карма: 9

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#5: 2007-01-18 23:44:07 ЛС | профиль | цитата
Galkov, но имитация того, что он берет их из потока есть. Поданные на вход данные нормально конвертятся и выдаются. А муть это то, что написано в начале -- пустой образ иконки.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#6: 2007-01-19 00:03:21 ЛС | профиль | цитата
nesco писал(а):
но имитация того, что он берет их из потока есть

Не увидел никакой имитации

Ты не понял наверное: Dilma ВСЕГДА выдает имя ресурса 'ASMA' для пустой иконки. В любом месте, в любом элементе....
И дальше - хучь в ухо мочись...

[size=-2]------ Добавлено в 00:03
какая же это муть... Это микросхема
карма: 9

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#7: 2007-01-19 00:12:09 ЛС | профиль | цитата
Galkov, да, но мне ненужна пустая иконка, в поток-то я даю нормальную. Один код ее конвертирует -- другой нет. На всякий случай дам код метода, может тогда поймем друг друга. Зо одно глянь -- может чего подправить? code_807
карма: 22

0
файлы: 1code_807.txt [925B] [600]
Ответов: 9906
Рейтинг: 351
#8: 2007-01-19 00:36:14 ЛС | профиль | цитата
nesco писал(а):
Один код ее конвертирует -- другой нет.

Прием данных data_icon - это один вопрос
И он поднимаем любым, имеющим права на SVN

Про "пустую" - это второй, рассказал происходящее.
карма: 9

0
Ответов: 1841
Рейтинг: 369
#9: 2012-03-13 00:45:24 ЛС | профиль | цитата
Поднимаю тему
Внесите исправление на SVN что-ли

Пример "глюка":
code_27161.txt
карма: 1
0
файлы: 1code_27161.txt [1.6KB] [431]
Разработчик
Ответов: 26066
Рейтинг: 2120
#10: 2012-03-13 01:52:14 ЛС | профиль | цитата
CriDos, у нас не предполагалось преобразование StreamToIcon. Так что ничего пока добавляться не будет. И жто не глюк, а совершенно правильная работа компонента -- в потоке должна быть иконка, а не стрим. Для брлее продвинутой работы с иконками предлагаю использовать менеджер иконок
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#11: 2012-03-13 02:44:02 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2021-06-24 08:44:43
карма: 0

0
Ответов: 1841
Рейтинг: 369
#12: 2012-03-13 03:06:31 ЛС | профиль | цитата
г. ость, такой способ мне известен, и схему он загрузит прилично, да и я уже на png перешел.
карма: 1
0
Разработчик
Ответов: 26066
Рейтинг: 2120
#13: 2012-03-13 03:29:10 ЛС | профиль | цитата
CriDos, можешь обновить Icon с SVN, я добавил метод doLoadFromStream
карма: 22

1
Голосовали:CriDos
Ответов: 1376
Рейтинг: 197
#14: 2012-03-13 03:36:29 ЛС | профиль | цитата
nesco писал(а):
метод doLoadFromStream

nesco, а метод doSaveToStream там не появится?
карма: 1

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#15: 2012-03-13 03:39:17 ЛС | профиль | цитата
foksov писал(а):
а метод doSaveToStream там не появится?

Он под FPC глючит, его переписывать надо заново. А так как он здоровый, то не стоит этого делать
карма: 22

1
Голосовали:foksov
15
Сообщение
...
Прикрепленные файлы
(файлы не залиты)