powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Чего хочет FastReport
6 сообщений из 6, страница 1 из 1
Чего хочет FastReport
    #38393199
Wovan2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет. Пытаюсь вставить в отчет картинку сформированную библиотекой, делающей духмерные штрихкоды.
Код в BeforePrint:
if Sender.Name = 'picDataMatrix'
then
begin
bmp:=TBitmap.Create;;
bmp.Width:=m_image.dwWidth;
bmp.Height:=m_image.dwHeight;
PtShowImage(@m_image,bmp.Canvas.Handle,0,0,1.0);
// bmp.SaveToFile('ww.bmp');
TfrxPictureView(Sender).Picture.Bitmap.Assign(bmp);
bmp.Free;
end

Функция PtShowImage из указаной библиотеки. Если убрать комментарий получаем файл с картинкой.
Если как есть, FastReport ругается на отсутствие frxclass.pas. Его действительно нет. Есть DCU. Если функцию закомментировать, то все нормально, картинка вставляется в отчет. Сдается мне эта функция что-то портит в bmp. Не могу понять что.
Пробовал передавать черех TImage. Проблема та же.
Может у кого-нибудь есть какие-нибудь соображения? Ведь метод bmp.SaveToFile('ww.bmp') создает нормальный файл.
...
Рейтинг: 0 / 0
Чего хочет FastReport
    #38394257
Wovan2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никаких соображений, видимо, нет.
Странно, но простое присваивание решило проблему TfrxPictureView(Sender).Picture.Bitmap:=bmp;
Неисповедимы пути Твои, Delphi
...
Рейтинг: 0 / 0
Чего хочет FastReport
    #38394471
Wovan2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И все-равно, интересно, что такого делает функция, что bitmap не может скопироваться в другой объект (пробовал даже TBitmap.Assign-ошибка(access violation), без функции ошибки нет). Такое ощущение, что какое-то свойство становится неинициализированным????? В каком хоть направлении искать?
...
Рейтинг: 0 / 0
Чего хочет FastReport
    #38394603
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wovan2bitmap не может скопироваться в другой объект (пробовал даже TBitmap.Assign-ошибка(access violation)Возможно проблема с указателем. Тут порылся на форуме... На всякий случай Один и Два
...
Рейтинг: 0 / 0
Чего хочет FastReport
    #38394699
Wovan2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо User89 за участие.
Но в целом получился фактически монолог.

BMP := TBitmap.Create;
DMEncode(memText.Text,BMP);
imgDM.Picture.Bitmap.Assign(BMP);
imgDM.Refresh;
BMP.Free;

Вот такой кусок работает без ошибки. Если Refresh убрать - Access violation! Пошагово убедился, что в момент вызова Assign imgDM(TImage) оказывается пустым. В общем отключил оптимизацию компилятора и все проблемы пропали (и Refresh не нужен).
Хотя все-равно не все понятно. При включеной оптимизации и без вызова DMEncode ошибки нет. А при включении функции не работает даже вызов imgDM.Picture.SaveToFile. Причинно-следственная связь какая-то не правильная.
Но так или иначе проблема решена.
Спасибо за внимание.
Да забыл сказать. Работаю на D7.
...
Рейтинг: 0 / 0
Чего хочет FastReport
    #38559442
Wovan2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут еще покопались. Выяснили, что настройку компилятора Assignable typed constants - надо отключить!!!
А потом отключить и включить оптимизацию. Похоже на баг D7.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Чего хочет FastReport
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]