|
Чего хочет FastReport
|
|||
---|---|---|---|
#18+
Привет. Пытаюсь вставить в отчет картинку сформированную библиотекой, делающей духмерные штрихкоды. Код в 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') создает нормальный файл. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2013, 09:54 |
|
Чего хочет FastReport
|
|||
---|---|---|---|
#18+
Никаких соображений, видимо, нет. Странно, но простое присваивание решило проблему TfrxPictureView(Sender).Picture.Bitmap:=bmp; Неисповедимы пути Твои, Delphi ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 08:41 |
|
Чего хочет FastReport
|
|||
---|---|---|---|
#18+
И все-равно, интересно, что такого делает функция, что bitmap не может скопироваться в другой объект (пробовал даже TBitmap.Assign-ошибка(access violation), без функции ошибки нет). Такое ощущение, что какое-то свойство становится неинициализированным????? В каком хоть направлении искать? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 11:39 |
|
Чего хочет FastReport
|
|||
---|---|---|---|
#18+
Wovan2bitmap не может скопироваться в другой объект (пробовал даже TBitmap.Assign-ошибка(access violation)Возможно проблема с указателем. Тут порылся на форуме... На всякий случай Один и Два ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 12:56 |
|
Чего хочет FastReport
|
|||
---|---|---|---|
#18+
Спасибо 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. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 13:47 |
|
|
start [/forum/topic.php?fid=31&msg=38394699&tid=1533787]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 273ms |
total: | 394ms |
0 / 0 |