Перейти к содержанию
Fire Monkey от А до Я

giveaway

Пользователи
  • Постов

    69
  • Зарегистрирован

  • Посещение

  • Победитель дней

    1

Весь контент giveaway

  1. И вдогонку вопрос - а Каталину только версия для Delphi поддерживает? А С++ нет? В описании к нему ни строчки о поддержке.
  2. Так вам удалось подружить Embarcadero 10.3.3 и Xcode 11.2.1? Под Каталину приложуха построится? А то в сети читаю гневные отзывы, что это только обещания, а в реале новый SDK не подтягивается
  3. Сам браузер работает нормально, скрин с него не снимается только... Какой выход? Пробовать Chromium?
  4. Неожиданно выяснилось, что все работает на Mac Sierra при постройке и в Билдере 10.1 и 10.3, а вот все версии Mac OS X выше - выдают пустой скриншот. Может быть это что-то подскажет?
  5. С нижеследующим кодом под Windows все работает нормально (при печати добавляю на канву принтера номер страницы) А вот в Маке вместо номера, получаю залитый черным прямоугольник. В чем ошибка? TRectF pgRect; String numPagebuf; int x1, y1, x2, y2; x1 = 60; y1 = Printer->PageHeight - 220; x2 = Printer->PageWidth - 60; y2 = Printer->PageHeight - 170; pgRect.init(x1, y1, x2, y2); numPagebuf = IntToStr(numPage); TCanvas * canvas = Printer->Canvas; canvas->BeginScene(); canvas->Font->Size = 90; canvas->Fill->Kind = TBrushKind::Solid; canvas->Stroke->Thickness = 1; canvas->FillText(pgRect, numPagebuf, false, 0, TFillTextFlags(), TTextAlign::Center, TTextAlign::Center); canvas->EndScene();
  6. Дальнейшие эксперименты показали, следующее... У меня есть форма и внутри нее канва браузера. Я стал снимать скриншот не только с канвы, а со всей формы. Так вот - в данном случае скриншот не весь пустой, - на него попадают элементы управления формы (кнопки и пр.), но находящая внутри скриншота канва браузера пуста. Ощущение что отображаемые браузером html фалы не относятся к графике и не захватываются. Напоминанием попытку снять скриншот кино в видеоплеер с помощью клавиши printscreen, там тоже окно видеоплеера будет присутствовать, но его содержимое - нет. Напомню, что такая бага присутствует только в Маке, - в Винде скриншоты захватываются нормально.
  7. Привожу кусок кода, в котором я захватываю в скриншот то, что отображает бразуер. Под Виндой все прекрасно работает, а вот в Маке скриншоты создаются пустыми. Что может быть не правильно? TBitmap* TForm1::getScreenshotWebBrowser() { TBitmap *BitmapBuffer; TBitmap *bmp_Scrhot = new TBitmap; // Фиксируем размер снимаемой области TRectF SourceRect(0, 0, WebBrowser1->Width, WebBrowser1->Height); TRect Rect_bmp(0, 0, WebBrowser1->Width, WebBrowser1->Height); // Создаем временный буфер для получения скриншота BitmapBuffer = new TBitmap(SourceRect.Width(), SourceRect.Height()); try { // Переводим канву в режим отрисовки - начинаем процесс отрисовки сцены if (BitmapBuffer->Canvas->BeginScene()) try { // Говорим контролу отрисовать себя в канве нашего буфера в указанной области WebBrowser1->PaintTo(BitmapBuffer->Canvas, SourceRect); } __finally { // Завершаем процесс отрисовки, заканчивая формируемую сцену BitmapBuffer->Canvas->EndScene(); } BitmapBuffer->SaveToFile(GetHomePath() +"/screenshot1.png"); bmp_Scrhot->Width = Rect_bmp.Width(); bmp_Scrhot->Height = Rect_bmp.Height(); bmp_Scrhot->CopyFromBitmap(BitmapBuffer, Rect_bmp, 0, 0); bmp_Scrhot->SaveToFile(GetHomePath() +"/screenshot2.png"); } __finally { delete BitmapBuffer; } return bmp_Scrhot;
  8. Строю приложение под Win и Mac OS X с использованием TWebBrowser. В Винде оно нормально открывает файлы html, в Маке же браузер не работает, - просто пустое окно даже для примитивных html файлов. Читаю в сети отзывы, и что-то не понятно по кроссплатформенности компонента. Для Мака она есть? Или надо пользоваться альтернативой?
  9. Формирую документ для печати и хочу в него добавить программно некий текст, фигуры и изображение. Вот кусок кода: TRectF RectF(10, 10, 30, 30); BitmapTmp->Canvas->DrawRect(RectF, 0, 0, AllCorners, 100); BitmapTmp->Canvas->FillText(RectF, ImageSel->Name, false, 1, TFillTextFlags() << TFillTextFlag::RightToLeft, // TFillTextFlags(), TTextAlign::Center, TTextAlign::Center); Прямоугольник отрисовывается нормально, а текст не отображается. Что я делаю не так?
  10. Никто не поделиться? Можно в личку. Нашел в свободном доступе только для Delphi и VCL
  11. Мне в пдфку чисто картинки надо скидывать, но с определенной версткой (две на одну страницу). Это возможно сделать без сторонних средств?
  12. Коллеги, подскажите по данной задаче что есть нового? Мне нужно создание pdf файла под Win и Mac для С++, а HTML Report Library и FastReport FMX, как я понимаю, все для Delphi?
  13. Почему-то при первом запуске (нажатии кнопки Печать) строка if(!Printer) return; возвращает null. Хотя принтеры на компьютере есть. При втором нажатии код уже вдруг переходит к условию if(Printer->ActivePrinter->SelectDPI(1200, 1200)==false) return; И происходит вот такоей вылет: Сама функция вот такая, если что:
  14. Создаю код для вывода на печать картинки из файла. Взял за основу рабочий пример. Вот мой, немного переделанный, код void __fastcall TForm1::PrintImageh(TImage *ImageTmp) { TRectF SrcRect, DestRect; TPrinter *Printer = Printer; if(!Printer) return; /* Set the default DPI for the printer. The SelectDPI routine defaults to the closest available resolution as reported by the driver. */ if(Printer->ActivePrinter->SelectDPI(1200, 1200)==false) return; /* Set canvas filling style. */ Printer->Canvas->Fill->Color = claBlack; Printer->Canvas->Fill->Kind = TBrushKind(1); /* Start printing. */ Printer->BeginDoc(); /* Set the Source and Destination TRects. */ SrcRect = ImageTmp->LocalRect; DestRect = TRectF(0, 0, Printer->PageWidth, Printer->PageHeight); /* Print the picture on all the surface of the page and all opaque. */ Printer->Canvas->DrawBitmap(ImageTmp->Bitmap, SrcRect, DestRect, 1); /* Finish the printing job. */ Printer->EndDoc(); } Происходит вылет на строке if(Printer->ActivePrinter->SelectDPI(1200, 1200)==false) return; Что может быть не так?
  15. Год назад прекрасно копилил проект под Мак в такой связке (специально сохранил): RADStudio-Berlin-10.1.2 Xcode 7.3.1 с SDK 10.11.4 Mac OS X 10.12.6 Sierra VMware Workstation Pro 12.5.8 Сейчас попробовал сделать то же самое. Компилятор ошибок не выдает, но при развертывании app в самом Маке Терминал пишет: >dyld: Library not loaded: @rpath/bplrtl240.dylib Referenced from: /Users/admin/PAServer/scratch-dir/Admin-Sierra/MyApp.app/Contents/MacOS/MyApp Reason: image not found Хотя файл существует по пути Embarcadero\Studio\18.0\binosx32\bplrtl240.dylib и Embarcadero\Studio\18.0\Redist\osx32\bplrtl240.dylib Что пошло не так? Еще создал другой новый проект. Он даже построение не проходит. Вылетает куча ошибок типа E2268 Call to undefined function и E2451 Undefined symbol Под Винду оба проекта строятся и запускаются прекрасно. P.S. Я правильно понимаю что SDK при нажатии Update Local File Cache вытаскивается из подключенного Мака, из того Xcode, который там установлен?
  16. Задача такая. Использую TWebBrowser для отображения сайта на десктопе. По кнопке делаю скриншот желаемой веб-страницы. Нужно что бы снимаемые таким образом скриншоты отображались в виде миниатюр в колонке сбоку. Попадали туда один за другим. Желательно с ними там проводить некоторые операции – 1) менять порядок 2) удалять Какой компонент(ы) взять для такой «колонки» в качестве контейнера? Требуется кроссплатформенность Винда/Мак. Буду признателен за идеи.
  17. Написал приложение. Все прекрасно работало, пока реальные пользователи Мак не стали жаловаться на такую ошибку. Приложение скачивается ими с моего сайта (не Apple Store), и если его тут же запускать из папки Downloads, то выскакивает такое окно с алертом “The specified file was not found”. Однако стоит просто перенести приложение, или на рабочий стол, или в любую другую папку, включая системные по типу Applications и т.д., то все работает замечательно. Что за ерундень в этом Маке?)) Куда копать? P.s. Контейнер апп содержит внутри бинарник unrar, который я использую для распаковки .rar файлов (так нужно по задумке). Может отсюда ноги растут?
  18. Решения данной проблемы так и нет? Так чтобы половина кода не переделывать? Аппликуха нормально работала на всех Маках пока не вышла High Sierra Я даже готов отказаться от https, в случае если юзер будет запускать мое приложение на High Sierra. Как внутри отловить условие ненайденной SSL библиотеки и отказаться от ее использования в данном случае?
  19. Напишу сюда же, дабы не создавать новую тему. Есть вопрос - как Mac обозначает диски? В своем приложении проверку свободного места на диске я реализовал через посыл определенной команды в терминал. Его ответ я использую для подсчета места. Но если в Windows диски обозначатся буквами, и отталкиваясь от этого я выполняю нужные калькуляции. У Мака ничего такого нет, и в итоге у меня определяется место только на том диске, с которого запущено мое приложение. А если есть другие внутренние или внешний диски – то калькуляция свободного места на них не получается… Есть идеи как это решить?
  20. Это тоже может сработать, но одна загруженная иконка будет в некоторых случаях смотреться некачественно, т.к. система устроит ей ресайз. Поэтому по уму надо делать как я описал выше - чтобы было несколько разрешений.
  21. Разобрался. Почему-то мало где описан процесс создания иконок. Их надо создавать по-разному под Винду и Мак. 1) Для Windows нужно создать квадратные картинки png с разрешениями: 16, 24, 32, 48, 256. Потом в спец.редакторе собрать их в один файл .ico Я пользовался IcoFX. И уже данный "многослойный" файл .ico загружается в билдере (Project->Options->Application) и подхватывается при компиляции. 2) Для Мака также создаются png картинки, но кроме расширения нужно задать им и спец.имя: icon_16x16.png icon_16x16@2x.png icon_32x32.png icon_32x32@2x.png icon_128x128.png icon_128x128@2x.png icon_256x256.png icon_256x256@2x.png icon_512x512.png icon_512x512@2x.png Все эти картинки помещаются в папку <название>.iconset, которая заидывается на реальный Мак или его виртуальную инкарнацию. Там в Терминале вводим команду iconutil -c icns <название>.iconset Терминал создаст "многослойный" иконочный файл для Мака с расширением .icns Его тоже загружаем в билдере через Project->Options->Application. Если это не сработает, и после компиляции под Мак подцепится опять какая-то левая иконка, можно заменить этот файл .icns внутри конейнера .app Он там лежит в явном виде в папке Resources
  22. Создал, как полагается, иконку в формате .icns, сделал Load в Project->Options->Application, причем и для All Configurations, и для Debug, и для Release. После компиляции маленькая иконка оказывается стандартной, которую сам биледр подставляет со значком С++, а большой ярлык вообще почти пустой (Мак свой какой-то подсовывает). Скрин прилагаю. Что делаю не так? Версия под Винду иконки подхватывает норм, а Мак вот артачиться.
  23. Вопрос остался. Решил попробовать кинуть dll в Temp, но экзешник ищет их рядом с собой и конечно не находит. Можно ли обращаться к dll, лежащим в другом месте?
  24. Не факт) На комп №1 поставил такую же связку как и на №2, а именно VMWare Workstation 10.0.7 и OS X Maverick 10.9 DP1 (без Xcode) и приложение стало работать без ошибок. Более того теперь на других Mac OS (Maverick 10.9.5 и Mountain Lion 10.8.3) первая точка проходится без сбоев, а вот вторая осталась.
  25. На компьютере №1 установлены: VMWare Workstation 10.0.7 OS X Maverick 10.9 DP1 Xcode 5.1.1 На нем скомпилированное приложение .app выполняет все свои функции. На компьютере №2 установлены: VMWare Workstation 12.5.5 OS X El Capitan 10.11.6 OS X Maverick 10.9.5 OS X Mountain Lion 10.8.3 Xcode отсутствует во всех OS X На нем в любой из систем приложение виснет в двух одних и тех же точках. В чем засада? В Workstation? Как я понимаю, отсутствие Xcode не должно влиять на работу уже скомпилированного .app
×
×
  • Создать...