Components for Delphi and C++ Builder.

Перейти в английский форум
Перейти на EhLib.com
Текущее время: 13 апр 2024, 16:51

Часовой пояс: UTC




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
СообщениеДобавлено: 28 ноя 2022, 10:18 
Не в сети

Зарегистрирован: 17 ноя 2022, 06:21
Сообщений: 5
Помогите, пожалуйста.
Использую среду 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” установить, то все проходит без ошибок.
Но тогда проблемы с работой итогового файла проекта на других ПК.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 30 ноя 2022, 09:45 
Не в сети

Зарегистрирован: 21 дек 2011, 18:48
Сообщений: 1549
Добрый день.

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

_________________
Best regards
EhLib support Team


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 30 ноя 2022, 10:57 
Не в сети

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


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 30 ноя 2022, 10:59 
Не в сети

Зарегистрирован: 17 ноя 2022, 06:21
Сообщений: 5
Вот код:
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);
}


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 30 ноя 2022, 11:24 
Не в сети

Зарегистрирован: 21 дек 2011, 18:48
Сообщений: 1549
Добрый день.

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

_________________
Best regards
EhLib support Team


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 30 ноя 2022, 11:51 
Не в сети

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


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 30 ноя 2022, 12:06 
Не в сети

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


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB