"EhLib.Com"
https://forum.ehlib.com/ru/

Проблема PdfPrinter() при работе с библиотекой EhLib 10.2.
https://forum.ehlib.com/ru/viewtopic.php?f=4&t=3278
Страница 1 из 1

Автор:  Александр-61 [ 28 ноя 2022, 10:18 ]
Заголовок сообщения:  Проблема PdfPrinter() при работе с библиотекой EhLib 10.2.

Помогите, пожалуйста.
Использую среду C++Builder XE10.1 с библиотекой EhLib 10.2.
В этой среде во вкладке “Packages->Runtame Packages” снимаю галочку с пункта “Link with runtime packages” - для переноса итогового файла проекта на другие ПК.
Для подключения PdfPrinter() добавляю в проект #include "PdfPrintersEh.hpp".
Как только обращаюсь к PdfPrinter() (например, добавляю строку: int pdx=PdfPrinter()->Canvas->PixelsPerInchX),
Linking выдает ошибку:
“Unresolved external ‘CteateFontPackage’ referenced from C:\…\DCP\EHLIB240.LIB|PdfFontsEh”.
Если же галочку в “Link with runtime packages” установить, то все проходит без ошибок.
Но тогда проблемы с работой итогового файла проекта на других ПК.

Автор:  EhLibSupport [ 30 ноя 2022, 09:45 ]
Заголовок сообщения:  Re: Проблема PdfPrinter() при работе с библиотекой EhLib 10.

Добрый день.

Исправили в сборке EhLib.VCL 10.2 Build 10.2.036
Проверьте, пожалуйста.

Автор:  Александр-61 [ 30 ноя 2022, 10:57 ]
Заголовок сообщения:  Re: Проблема PdfPrinter() при работе с библиотекой EhLib 10.

Скачал очередную исправленную версию - 10.2.036.
Ошибки при Linking (со снятой галочкой с пункта “Link with runtime packages”) исчезли. Но при выполнении проекта [в переданном проекте оператор: PdfPrinter()->Canvas->TextRect(ARect,txt);] программа "вылетает" - 'stack overflow...'. Если же галочку установлю, ТО ВСЕ РАБОТАЕТ ОТЛИЧНО, но мне надо без этой опции. Помогите, пожалуйста. Срочная работа. У меня, просто очень большой проект, и его обязательно надо готовить без этой опции (со снятой галочкой с пункта “Link with runtime packages”). Пытался выслать Вам пример(проект) ошибки, но чего-то не проходит.

Автор:  Александр-61 [ 30 ноя 2022, 10:59 ]
Заголовок сообщения:  Re: Проблема PdfPrinter() при работе с библиотекой EhLib 10.

Вот код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String AFilename;
String Patch;
String FullFileName;
String txt;
TRect ARect;

Patch = GetCurrentDir();
AFilename = "PDFDataFile.pdf";
FullFileName = Patch + "\\" + AFilename;

txt="PDF-Printer!!!";
PdfPrinter()->BeginDoc(FullFileName);
ARect=Rect(10,20,10+PdfPrinter()->Canvas->TextWidth(txt),20+PdfPrinter()->Canvas->TextHeight(txt));
PdfPrinter()->Canvas->TextRect(ARect,txt);
PdfPrinter()->EndDoc();
ShellExecute(Handle,NULL,FullFileName.c_str(),NULL,NULL,SW_SHOWNORMAL);
}

Автор:  EhLibSupport [ 30 ноя 2022, 11:24 ]
Заголовок сообщения:  Re: Проблема PdfPrinter() при работе с библиотекой EhLib 10.

Добрый день.

К сожалению на нашем компьютере ошибка не воспроизводится.
Можете прислать участок CallStack'а?

Автор:  Александр-61 [ 30 ноя 2022, 11:51 ]
Заголовок сообщения:  Re: Проблема PdfPrinter() при работе с библиотекой EhLib 10.

Ошибка происходит только со снятой галочкой с пункта “Link with runtime packages”.
Если в проекте убрать строку: PdfPrinter()->Canvas->TextRect(ARect,txt), то все работает.
Но мне ведь надо что-то писать и рисовать на Canvas. Я пытался выслать проект на support@ehlib.com,
но он чего-то не проходит.

Автор:  Александр-61 [ 30 ноя 2022, 12:06 ]
Заголовок сообщения:  Re: Проблема PdfPrinter() при работе с библиотекой EhLib 10.

И вот, что только обнаружил. Ошибка происходит при методе
PdfPrinter()->Canvas->TextRect(ARect,txt) (вывод текста).
Если же рисовать только рамку: PdfPrinter()->Canvas->Rectangle(ARect),
то все проходит хорошо. А как тогда писать текст? У PdfPrinter()->Canvas других методов нет.
С "галочкой" все работает. Я думаю, что вина во всем в ошибке:
“Unresolved external ‘CteateFontPackage’ referenced from …EHLIB240.LIB|PdfFontsEh”, которую Вы убрали.

Страница 1 из 1 Часовой пояс: UTC
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/