Embarcadero RAD Studio 10.4 Sydney Architect Version 27.0.37889.9797 [2020, MULTILANG]

Страницы :   Пред.  1, 2, 3 ... , 11, 12, 13  След.
Ответить
 

temp128

Стаж: 16 лет 5 месяцев

Сообщений: 480

temp128 · 08-Авг-20 11:59 (5 лет 1 месяц назад, ред. 08-Авг-20 11:59)

KostyantynKo писал(а):
79883902Вот попробуйте загнать этот код под Семёрку, и в результате получите (((Access Violation))) blah-blah-blah А в десятке всё ОК
Они (создатели VCL), его, просто, для Windows 7, не реализовали. Если очень нужен можно и самому реализовать.
скрытый текст
Если посмотреть исходные коды библиотеки VCL, то видно, что в System.Windows.Notification.pas, для Windows 7, нижеследующий код вернет nil.
Код:

class function TPlatformNotificationCenter.GetInstance: TBaseNotificationCenter;
begin
  if TOSVersion.Check(6, 2) then // Windows 8
    Result := TBaseNotificationCenter(TNotificationCenterWinRT.NotificationCenter)
  else
    Result := nil;
end;
А это значение, указатель, на тот класс, который будет создавать класс TNotification, когда вы вызываете:
Код:
Notify:=NotificationCenter1.CreateNotification;
Данный код (System.Notification.pas):
Код:

function TCustomNotificationCenter.Supported: Boolean;
begin
  Result := FPlatformNotificationCenter <> nil;
end;
проверит, что FPlatformNotificationCenter = nil, и CreateNotification вернет nil, а уж потом вы по этому указателю и будете
Код:

Notify.Title:='Абра Кадабра.';
записывать.
Незнаю, работал ли когда нибудь, тот код, что Вы привели в пример в Windows 7 ? Если да, то нужно просто взять старую VCL, содрать с нее кусок, и вставить в новую, а потом пересобрать.
Меня бы это с Windows 7 не согнало бы , за прошедшие годы Win32 API, не так принципиально изменился, чтобы сейчас нельзя было бы написать программу, под Windows 95, Windows NT 4.0. . Другой вопрос это затраты.
[Профиль]  [ЛС] 

usr914

Стаж: 16 лет 10 месяцев

Сообщений: 229

usr914 · 08-Авг-20 20:10 (спустя 8 часов, ред. 08-Авг-20 20:10)

temp128 писал(а):
79884748Незнаю, работал ли когда нибудь, тот код, что Вы привели в пример в Windows 7 ? Если да, то нужно просто взять старую VCL, содрать с нее кусок, и вставить в новую, а потом пересобрать.
С чего бы ему работать в Windows 7, NotificationCenter же там физически отсутствует. Эта фишка появилась только в Win 10.
[Профиль]  [ЛС] 

temp128

Стаж: 16 лет 5 месяцев

Сообщений: 480

temp128 · 08-Авг-20 21:25 (спустя 1 час 15 мин., ред. 08-Авг-20 21:25)

usr914 писал(а):
79886885С чего бы ему работать в Windows 7, NotificationCenter же там физически отсутствует. Эта фишка появилась только в Win 10.
Значит разработчики данного компонента, его не очень грамотно реализовали. Он, должен был бы, создавать объект класса TNotification независимо от того, что FPlatformNotificationCenter = nil, но при попытке NotificationCenter1.PresentNotification(Notify) либо
генерировать какое-то осмысленное исключение, либо просто ничего не делать.
В документации на System.Notification.TCustomNotificationCenter.CreateNotification не сказано, что он может возвращать nil.
Так что KostyantynKo - формально прав - он мог не проверять на nil Notify !
Честно говоря NotificationCenter, мне, и в Windows 10, на ... не нужен !
PS: Думаю, что если бы исходный код NotificationCenter, был бы доступен, то он, скорее всего, легко бы, компилировался под Windows 7. Скорее всего MS не делает данный компонент отдельным, по, каким-то, идеологическим соображениям.
[Профиль]  [ЛС] 

KostyantynKo

Top Bonus 03* 1TB

Стаж: 15 лет 3 месяца

Сообщений: 1634

KostyantynKo · 09-Авг-20 09:11 (спустя 11 часов, ред. 09-Авг-20 09:11)

Panf2 писал(а):
79884518KostyantynKo
а с Андроидом игрались? Корректные Android-бандлы (32 + 64 bit) компилит Delphi 10.4 на 32-разрядной Windows?
Не могу сказать точно, но попытаюсь, если что поправьте.
Так как 32 битным Виндовсом не пользовался уже давно. Но по сути запустить бандл в андроиде 32_64 не состоит труда, потому что, напрямую APK не запускается на платформе Windows, а с помощью возврата командной строки РАД Студии к компилятору и на конечное устройство. Так как РАД Студия - сплошная командная строка напичкана GUI элементами, фаршированным кодом, и т.д.
Вкратце:
Происходит компиляция Project1.o, Classes.dex, libProject.so где Project1 имя проекта.
Инициализация целевого устройства типа Андроид или эмулятор.
Сопоставляет API-Level Андроид устройства и Android SDK с API-Level платформой.
Осуществляется строение APK в папке "C:\Users\%USERPROFILE%\Documents\Embarcadero\Studio\Projects\Android\Release\Project1\bin\Project1.apk" и других реквизитов.
И устанавливается на конечное устройство или эмулятор, и происходит запуск APK проекта на нем.
PS: Лучше всего тестировать на виртуальной машине.
[Профиль]  [ЛС] 

mikakatsu

Стаж: 14 лет 7 месяцев

Сообщений: 34


mikakatsu · 14-Авг-20 11:14 (спустя 5 дней)

Замечен баг масштабирования интерфейса iOS 13.6 при сборке в IDE - Дельфи 10.4 (Вин 10 х64)
Один и тот же исходник на Дельфи.
Один и тот же макОс и Хкод (последнии версии). iPhone 8 Plus iOs - последний версии.
Профиль - Девелопмент, сертификат подписания сгенерирован хКодом.
собрал приложение под 10.4 Дельфи (+ Патч 1, 2 и 3) - масштаб сильно увеличенный, все компоненты значительно большего размера. + еще сыпятся ацессыВиол.
собрал приложение под 10.3.3 Студия (Дельфи) - Интерфейс как и задумано, Ошибок нет.
В обеих версия IDE прописаны их родные SDK, с которыми они и поставлялись.
[Профиль]  [ЛС] 

1971glv

Стаж: 16 лет 2 месяца

Сообщений: 10

1971glv · 16-Авг-20 20:39 (спустя 2 дня 9 часов, ред. 16-Авг-20 20:39)

Мне как любителю Делфи эта версия не понравилась своим интерфейсом , при нажатии на классическую версию даёт ошибку, все иконку на вкладке Palette плохо читаемы и бледные. В версии 10.2 (Виндовс 7 , 32 бит, старый ноутбук Делл 5500 - 2010 года рождения, память 2 гб, проц. Т8100) была написана программа для BetGames TV , БИТВА СТАВОК https://www.youtube.com/watch?v=r9PEeiAy1rs
[Профиль]  [ЛС] 

Panf2

Старожил

Стаж: 15 лет 1 месяц

Сообщений: 832

Panf2 · 19-Авг-20 10:18 (спустя 2 дня 13 часов)

1971glv писал(а):
79923878Мне как любителю Делфи эта версия не понравилась своим интерфейсом , при нажатии на классическую версию даёт ошибку, все иконку на вкладке Palette плохо читаемы и бледные. В версии 10.2 (Виндовс 7 , 32 бит, старый ноутбук Делл 5500 - 2010 года рождения, память 2 гб, проц. Т8100) была написана программа для BetGames TV , БИТВА СТАВОК https://www.youtube.com/watch?v=r9PEeiAy1rs
хорошая попытка рекламы, но нет
[Профиль]  [ЛС] 

mikakatsu

Стаж: 14 лет 7 месяцев

Сообщений: 34


mikakatsu · 20-Авг-20 15:02 (спустя 1 день 4 часа)

Есть у кого-то библиотека/компоненты для мобильных платформ для получения события прохождения аунтетификации по биосканерам (отпечатки, лицо) (Андроид и иОс) ?
[Профиль]  [ЛС] 

bg.gsv

Стаж: 12 лет 6 месяцев

Сообщений: 19


bg.gsv · 21-Авг-20 02:02 (спустя 10 часов)

Приветствую!
Может кто-то поможет советом?
Нужно запустить компиляцию проекта на builder c++ в многопоточном режиме. Проект собирается долго, при этом задействовано 8-9% процессора (I7 10700), т.е идёт сборка на одном из 16-ти виртуальных ядер.
Я включаю опции:
с++ compiler->Enable batch compilation
и
Project properties->General->Run c++ compiler in separate process
Беда в том, что эти настройки срабатывают только для clang, но при переходе от классического компилятора к clang в этом барахле перестаёт работать автодополнение кода и переход к объявлению. А без них работать с таким проектом нереально.
Может кто-то знает рецепт как побороть либо компиляцию в многопотоке либо заставить работать автодополнение кода и переход к объявлениям через ctrl-клик левой кнопкой?
[Профиль]  [ЛС] 

KostyantynKo

Top Bonus 03* 1TB

Стаж: 15 лет 3 месяца

Сообщений: 1634

KostyantynKo · 21-Авг-20 04:50 (спустя 2 часа 47 мин.)

bg.gsv писал(а):
79942976Беда в том, что эти настройки срабатывают только для clang, но при переходе от классического компилятора к clang в этом барахле перестаёт работать автодополнение кода и переход к объявлению. А без них работать с таким проектом нереально.
Возможно в следующем выпуске РАД Студии DEV Ребята с Эмбаркадеро при сотрудничестве с Idera.inc и ихним филиалом Whole Tomato планируют внедрить Visual Assist вместо Code Insight для C++Builder(а). Но это ещё под знаком вопроса.
bg.gsv писал(а):
79942976переход к объявлениям через ctrl-клик левой кнопкой?
Об этой проблеме несколько раз сообщали другие разработчики, даже я уже давно сообщал об этом на официальном форуме Эмбаркадеро.
[Профиль]  [ЛС] 

evgenij_es

Стаж: 14 лет 2 месяца

Сообщений: 20


evgenij_es · 21-Авг-20 08:59 (спустя 4 часа)

Добрый день! Может у кого есть paxCompiler for Delphi 10.4 Sydney и Konopka он же Raize под Sydney. Konopkу я прикрутил от Rio но работа некоторых компонентов стала отличаться от ожидаемой.
[Профиль]  [ЛС] 

KostyantynKo

Top Bonus 03* 1TB

Стаж: 15 лет 3 месяца

Сообщений: 1634

KostyantynKo · 21-Авг-20 20:18 (спустя 11 часов)

evgenij_es писал(а):
79943669Добрый день! Может у кого есть paxCompiler for Delphi 10.4 Sydney и Konopka он же Raize под Sydney. Konopkу я прикрутил от Rio но работа некоторых компонентов стала отличаться от ожидаемой.
Всё что есть...
[Профиль]  [ЛС] 

Planar14

Стаж: 16 лет 11 месяцев

Сообщений: 1


Planar14 · 22-Авг-20 19:25 (спустя 23 часа)

Уважаемые специалисты.
Android32. При использовании компонента TChart выдает ошибку в конфигурации Debug:
[DCC Fatal Error] frmXXXX.pas(10): F2051 Unit FMXTee.Canvas was compiled with a different version of System.SysUtils.FreeAndNil
Патчи 1-3 поставил. Не помогло.
Может кто знает, как с этим бороться?
[Профиль]  [ЛС] 

pikus_09

Стаж: 10 лет 5 месяцев

Сообщений: 40


pikus_09 · 23-Авг-20 14:56 (спустя 19 часов)

LMD innovative для 10.4 есть у кого?
[Профиль]  [ЛС] 

kolyalyan

Стаж: 11 лет 10 месяцев

Сообщений: 1


kolyalyan · 26-Авг-20 00:45 (спустя 2 дня 9 часов, ред. 26-Авг-20 00:45)

Здравствуйте!
Всё делаю, как в инструкции. То есть запускаю установочный файл от имени админа, next, patch, back и тут начинают сыпаться ошибки. Пробовал как этот торрент, так и с nmn-club. Ещё недавно было обновление Винды и у нескольких прог (Rad Studio, CorelDraw и ещё какая-то) слетели лицензии (пиратки).
Прикладываю скрины ошибок и недавних обновлений Винды. Не подскажете, что можно сделать?
Первая картинка — по нажатию Back, вторая, третья и четвёртая — Install.
Пятая — список последних обновлений Винды.


Заранее благодарен за помощь.
UPD: Уж не знаю, как это могло повлиять, но проблема решилась сама собой после перезагрузки. До этого удалял прежнюю версию (Rad Studio 10.3) и не перезагружался с тех пор. Раньше уже делал так, но никаких проблем не было. В общем, на заметку тем, если кто-то тоже напорится.
[Профиль]  [ЛС] 

KostyantynKo

Top Bonus 03* 1TB

Стаж: 15 лет 3 месяца

Сообщений: 1634

KostyantynKo · 27-Авг-20 09:38 (спустя 1 день 8 часов)

ВСЕ ТЕКУЩИЕ ОБНОВЛЕНИЯ RAD STUDIO 10.4
[Профиль]  [ЛС] 

temp128

Стаж: 16 лет 5 месяцев

Сообщений: 480

temp128 · 27-Авг-20 13:46 (спустя 4 часа, ред. 31-Авг-20 13:11)

bg.gsv писал(а):
79942976Может кто-то знает рецепт как побороть либо компиляцию в многопотоке либо заставить работать автодополнение кода и переход к объявлениям через ctrl-клик левой кнопкой?
Есть несколько способов, они, конечно, не заставят работать среду разработки, "как нужно", но вот ускорить компиляцию можно !
  1. С помощью GNU make.
    скрытый текст
    1. Ставим утилиту GNU make, например отсюда: http://gnuwin32.sourceforge.net/packages/make.htm.
    2. Пишем, например, такой Makefile :
      скрытый текст
      Код:
      # C:\RADStudio is junction to C:\Program Files (x86)\Embarcadero\Studio\21.0
      BASE=C:\RADStudio
      BIN=$(BASE)\bin
      BDSLIB=$(BASE)\lib
      CLANG=$(BIN)\bcc32c.exe
      LINK32=$(BIN)\ilink32.exe
      LIBS_CLANG=$(BDSLIB)\win32c\release
      # Compiler options
      #         dynamic runtime
      OPTS=-O1 -tR
      prog-clang-1=p1_32c.exe
      obj-clang-1=main1_32c.obj
      prog-clang-2=p2_32c.exe
      obj-clang-2=main2_32c.obj
      all:     $(prog-clang-1) $(prog-clang-2)
      $(obj-clang-1):   main.cpp
            $(CLANG)    $(OPTS) -o $@ -c $<
      $(obj-clang-2):   main.cpp
            $(CLANG)    $(OPTS) -o $@ -c $<
      $(prog-clang-1):  $(obj-clang-1)
            $(LINK32) -Gn -x /Tpe -L$(LIBS_CLANG)   c0x32.obj $<, $@,, import32.lib cw32mti.lib
      $(prog-clang-2):  $(obj-clang-2)
            $(LINK32) -Gn -x /Tpe -L$(LIBS_CLANG)   c0x32.obj $<, $@,, import32.lib cw32mti.lib
      clean:
            rm -f $(obj-clang-1) $(obj-clang-2) $(prog-clang-1) $(prog-clang-2)
    3. Не забываем main.cpp
      скрытый текст
      Код:
      #include <iostream>
      int main(int argc, char *argv[])
      {
          std::cout << "Hello world" << std::endl;
          return 0;
      }
    4. Вызываем утилиту make с ключём -j . У утилиты make от Borland нет возможности выполнять сборку во многих процессах.
      скрытый текст
      Код:
      make -j
  2. С помощью MSBuild.
    скрытый текст
    1. Устанавливаем переменную среды окружения BDS
      Код:
      BDS=C:\Program Files (x86)\Embarcadero\Studio\21.0
    2. Из командной строки вызываем MSBuild с параметром /maxcpucount:<число процессов>.
      Код:
      msbuild /maxcpucount:4 <имя проекта>.cbproj
  3. С помощью TwineCompile https://blogs.embarcadero.com/boost-c-compile-speeds-with-newly-updated-twinecompile-now-in-getit/
Если у Вас большой проект, то он соберется существенно быстрее.
PS:
    [*]На мой взгляд, GNU make, намного удобнее чем Borland make !
    [*]Gnu make, предпочтительнее, чем MSBuild (если посмотрите на его log, то видно, что некоторые действия выполняются последовательно), а Makefile Вы сами пишете, насколько грамотно выразите зависимости, так и работа будет выполняться.
    [*]Помнится, что в Embarcadero, обещали экспорт проектов в систему CMake - она, наверное, тоже умеет собирать во многих процессах.
    [*]Поиграйтесь с прекомпилируемыми заголовочными файлами - тоже можно немного ускорить процесс компиляции.
[Профиль]  [ЛС] 

bg.gsv

Стаж: 12 лет 6 месяцев

Сообщений: 19


bg.gsv · 27-Авг-20 23:14 (спустя 9 часов, ред. 27-Авг-20 23:14)

temp128 писал(а):
79971992
bg.gsv писал(а):
79942976Может кто-то знает рецепт как побороть либо компиляцию в многопотоке либо заставить работать автодополнение кода и переход к объявлениям через ctrl-клик левой кнопкой?
Есть несколько способов, они, конечно, не заставят работать среду разработки, "как нужно", но вот ускорить компиляцию можно !
  1. С помощью GNU make.
    скрытый текст
    1. Ставим утилиту GNU make, например отсюда: http://gnuwin32.sourceforge.net/packages/make.htm.
    2. Пишем, например, такой Makefile :
      скрытый текст
      Код:
      # C:\RADStudio is junction to C:\Program Files (x86)\Embarcadero\Studio\21.0
      BASE=C:\RADStudio
      BIN=$(BASE)\bin
      BDSLIB=$(BASE)\lib
      CLANG=$(BIN)\bcc32c.exe
      LINK32=$(BIN)\ilink32.exe
      LIBS_CLANG=$(BDSLIB)\win32c\release
      # Compiler options
      #         dynamic runtime
      OPTS=-O1 -tR
      prog-clang-1=p1_32c.exe
      obj-clang-1=main1_32c.obj
      prog-clang-2=p2_32c.exe
      obj-clang-2=main2_32c.obj
      all:     $(prog-clang-1) $(prog-clang-2)
      $(obj-clang-1):   main.cpp
            $(CLANG)    $(OPTS) -o $@ -c $<
      $(obj-clang-2):   main.cpp
            $(CLANG)    $(OPTS) -o $@ -c $<
      $(prog-clang-1):  $(obj-clang-1)
            $(LINK32) -Gn -x /Tpe -L$(LIBS_CLANG)   c0x32.obj $<, $@,, import32.lib cw32mti.lib
      $(prog-clang-2):  $(obj-clang-2)
            $(LINK32) -Gn -x /Tpe -L$(LIBS_CLANG)   c0x32.obj $<, $@,, import32.lib cw32mti.lib
      clean:
            rm -f $(obj-clang-1) $(obj-clang-2) $(prog-clang-1) $(prog-clang-2)
    3. Не забываем main.cpp
      скрытый текст
      Код:
      #include <iostream>
      int main(int argc, char *argv[])
      {
          std::cout << "Hello world" << std::endl;
          return 0;
      }
    4. Вызываем утилиту make с ключём -j . У утилиты make от Borland нет возможности выполнять сборку во многих процессах.
      скрытый текст
      Код:
      make -j
  2. С помощью MSBuild.
    скрытый текст
    1. Устанавливаем переменную среды окружения BDS
      Код:
      BDS=C:\Program Files (x86)\Embarcadero\Studio\21.0
    2. Из командной строки вызываем MSBuild с параметром /maxcpucount:<число процессов>.
      Код:
      msbuild /maxcpucount:4 <имя проекта>.cbproj
Если у Вас большой проект, то он соберется существенно быстрее.
PS:
    [*]На мой взгляд, GNU make, намного удобнее чем Borland make !
    [*]Gnu make, предпочтительнее, чем MSBuild (если посмотрите на его log, то видно, что некоторые действия выполняются последовательно), а Makefile Вы сами пишете, насколько грамотно выразите зависимости, так и работа будет выполняться.
    [*]Помнится, что в Embarcadero, обещали экспорт проектов в систему CMake - она, наверное, тоже умеет собирать во многих процессах.
    [*]Поиграйтесь с прекомпилируемыми заголовочными файлами - тоже можно немного ускорить процесс компиляции.
За подсказку большое спасибо!
Но у меня речь идет скорее о повседневной работе над двумя проектами написанными в Builder с++. Разово запустить полную сборку проекта и подождать некоторое время, не проблема, проблема возникает когда нужно что-то изменить в коде, который повлияет на весь проект, или переключиться на другую ветку, что частенько требуется.
Честно, я бы отказался от билдера. Параллельно веду проект на Qt в Qt Creator, и пусть сама среда не на столько "наворочена" как билдер и не лишена недостатков, но в креаторе работать на много приятнее чем в билдере. Хоть и знаком я с креатором всего пол года, но после него понимаешь, что писать на плюсах в билдере то ещё удовольствие.
Грустно, с делфи и билдером знаком с 99 года, и всё это время билдер был каким-то придатком к делфе. И если раньше я был в первых рядах отстаивая, назову их Борландовскими продуктами, то сейчас я бы с удовольствием от них отказался бы, но в проектах столько кода заточенного именно под билдер, что переписать его потребуется ни один год, в двух связанных проектах около тысячи не маленьких модулей, из них пара сотен сложные фреймы. Так что придётся мне терпеть это всё и надеяться, что когда-нибудь билдер станет хоть чуточку удобнее и шустрее.
Простите за сопли, накипело
[Профиль]  [ЛС] 

temp128

Стаж: 16 лет 5 месяцев

Сообщений: 480

temp128 · 30-Авг-20 13:29 (спустя 2 дня 14 часов, ред. 02-Сен-20 19:17)

bg.gsv писал(а):
79974761... в двух связанных проектах около тысячи не маленьких модулей, из них пара сотен сложные фреймы ...
Думаю, что нужно провести ревизию кода и, возможно, разбить проекты на несколько подпроектов (библиотек) и сделать единицы трансляции менее крупными - это позволит среде разработки перекомпилировать только те, единицы трансляции, которые изменились.
Сделать что-то похожее на стандартную библиотеку С - где каждая функция - отдельный исходный файл.
У Вас будет не 1000 файлов, а 10000 файлов .
bg.gsv писал(а):
79974761Параллельно веду проект на Qt в Qt Creator ...
Значит make файлы вы и без меня писать умеете Вы уж извините, что я, "учу отца заниматься любовью" .
bg.gsv писал(а):
79974761... надеяться, что когда-нибудь билдер станет хоть чуточку удобнее и шустрее.
Посмотрите, что нашел, это поможет ? https://blogs.embarcadero.com/boost-c-compile-speeds-with-newly-updated-twinecompile-now-in-getit/
У меня, собственно, к разработчикам Embarcadero / CodeGear / Borland, одна крупная претензия - что они не стали разрабатывать свой, совместимый по идеям и ключам с bcc32, 64-х битный компилятор с языка С++, а стали использовать компиляторы CLANG.
Они, в своё время, говорили, что сейчас не время 64-х битности, пока это не актуально, вот и дождались, что времени на создание своего 64-х битного компилятора у них не осталось, а у конкурентов (Microsoft, Intel, Gnu) он уже был. Вот и начали прикручивать к среде разработки компиляторы CLANG.
Это, косвенно, как раз, и ведет к:
  1. Тому, что RAD Studio, при переключении между компиляторами, по разному себя ведет с автодополнением кода, переходами к объявлениям ...
  2. Тому, что имеется 2 различные системы работы с прекомпилируемыми заголовками - одна для классического компилятора другая для CLANG.
Где те, люди, что создавали, классический компилятор Borland (bcc32.exe) ? !!!
PS:
скрытый текст
Особенно хорошо помню выставку Comtec 1998 года (в середине 1996 Intel объявила, что выпустит процессоры Pentium с технологией MMX, и раздала на CD документацию, в начале 1997 года они(Pentium MMX) уже поступили в продажу, а в ноябре 1997 года, я купил себе Pentium II - 266).
У Borland'а там был свой стенд, где они показывали, если я точно помню, C++ Builder < 5.0. К тому времени я уже ознакомился с пиратской версией продукта и обнаружил, что там нет никакой поддержки MMX, а в Visual Studio 97 она уже вовсю была !!!
Вот я и задал вопрос специалисту Borland: Будут ли компиляторы Borland поддерживать технологию MMX ? Я в первую очередь имел ввиду assembler) !
Ответ меня просто прибил: Что инструкции MMX будут использоваться, косвенно, путем использования DirectX !
Это, конечно, можно списать на неграмотность того спеца, что представлял продукт, но это же просто п-ц .
Посмотрел старые дистрибутивы - в С++ Builder 4.0 (1999 г.) появилась поддержка MMX, значит это была презентация С++ Builder 3.0 .

А вот и новые приколы, черт побери, везёт же мне их обнаруживать .
Я, никогда не использовал, в своих проектах директиву #pragma alias - вот и пришёл черёд попробовать, как она работает. Было создано 3 проекта:
  1. Проект консольного приложения, в который, непосредственно включается модуль (addon.cpp), содержащий директиву #pragma alias.
  2. Проект консольного приложения, которое, использует статическую библиотеку (lib.lib), куда включен модуль (addon.cpp), содержащий директиву #pragma alias.
  3. Собственно сама статичекая библиотека с модулем (addon.cpp), содержащим директиву #pragma alias.
Вот исходный код:
скрытый текст
main.cpp
Код:
#include "addon.h"
int main(int argc, char *argv[])
{
//    h();
    f();
//    h();
    return 0;
}
addon.h
Код:
#ifndef addonH
#define addonH
extern "C" void f();
extern "C" void h();
#endif
addon.cpp
Код:
extern "C" void g()
{
}
extern "C" void h()
{
}
#pragma alias "_f"="_g"
  1. Приложение 1 собирается из main.cpp и addon.cpp.
  2. Приложение 2 собирается из main.cpp и lib.lib.
  3. Бибиотека lib.lib собирается из addon.cpp
Пытаемся собрать всё - приложение 2 - не собирается:
Unresolved external '_f' referenced from main.obj
Unable to perform link

А вот тут начинаются приколы (нашёл чисто случайно) - снимаем комментарий в main.cpp с вызова функции h() - и вуаля всё собралось .
Судя по всему, это прикол компоновщика (ilink32.exe), который если встречает alias первым, то он не способен его скомпоновать !
Позже, я достал, из дистрибутива Borland C++ 5.02 (1997 г.), его компоновщик tlink32.exe (тот, что был до ilink32), и он сумел без проблем скомпоновать приложение и библиотеку, в которой есть модуль с директивой #pragma alias . Это другое приложение, не то, что я привел в пример, но именно на нём, я обнаружил ошибку, а потом написал тестовый пример, приведенный выше.
[Профиль]  [ЛС] 

Panf2

Старожил

Стаж: 15 лет 1 месяц

Сообщений: 832

Panf2 · 30-Авг-20 20:51 (спустя 7 часов)

Господа, а когда пользуется FGX Native? (альтернатива Firemonkey) Как она вам?
[Профиль]  [ЛС] 

bg.gsv

Стаж: 12 лет 6 месяцев

Сообщений: 19


bg.gsv · 31-Авг-20 21:32 (спустя 1 день)

temp128 писал(а):
79975948Думаю, что нужно провести ревизию кода и, возможно, разбить проекты на несколько подпроектов (библиотек) и сделать единицы трансляции менее крупными - это позволит среде разработки перекомпилировать только те, единицы трансляции, которые изменились.
Сделать что-то похожее на стандартную библиотеку С - где каждая функция - отдельный исходный файл.
У Вас будет не 1000 файлов, а 10000 файлов .
Вот этим по чуть чуть и занимаюсь
temp128 писал(а):
79975948Посмотрите, что нашел, это поможет ? https://blogs.embarcadero.com/boost-c-compile-speeds-with-newly-updated-twinecompile-now-in-getit/
Посмотрел их презентацию, довольно интересно. Постараюсь выкроить время и попробовать, по результатам отпишусь.
[Профиль]  [ЛС] 

scrooge30

Стаж: 16 лет 5 месяцев

Сообщений: 77


scrooge30 · 02-Сен-20 14:42 (спустя 1 день 17 часов)

https://altd.embarcadero.com/download/radstudio/10.4/radstudio_10_4_101461a.iso
MD5: 952F87F0001D5A5E2310CBC8B5D7FEBF
[Профиль]  [ЛС] 

temp128

Стаж: 16 лет 5 месяцев

Сообщений: 480

temp128 · 02-Сен-20 19:25 (спустя 4 часа)

Цитата:
Это оно ? : https://blogs.embarcadero.com/rad-studio-10-4-1-has-been-released/
[Профиль]  [ЛС] 

KostyantynKo

Top Bonus 03* 1TB

Стаж: 15 лет 3 месяца

Сообщений: 1634

KostyantynKo · 02-Сен-20 20:32 (спустя 1 час 6 мин.)

scrooge30 писал(а):
temp128 писал(а):
Да это всё оно. Надеюсь сегодня раздачу оформить
[Профиль]  [ЛС] 

scrooge30

Стаж: 16 лет 5 месяцев

Сообщений: 77


scrooge30 · 02-Сен-20 20:33 (спустя 35 сек.)

temp128 писал(а):
Да. Вот уже первая версия таблетки https://mega.nz/file/QmhzCDib#zc3Cos6iUPdOnNWn4Ua_1UKa23R39nE8RP8Czav2UZ8
[Профиль]  [ЛС] 

PMUkrNet

Стаж: 17 лет 4 месяца

Сообщений: 8


PMUkrNet · 02-Сен-20 22:41 (спустя 2 часа 8 мин.)

Чёта ниполучаица.
В keygen'е сказано, что после установки первый запуск студии делать с правами администратора.
Так инсталер после окончания установки сам запускает студию и не факт что с нужными правами, и не принимает сгененерированный .slip.
Предыдущую версию поставил нормально, эту не получается. Может что-то упустил?
[Профиль]  [ЛС] 

Ce3apyc

Стаж: 9 лет

Сообщений: 63


Ce3apyc · 02-Сен-20 23:27 (спустя 45 мин.)

Товарищи, дорогие!
Не бейте сильно, но что-то я с этими патчами реально запутался пока ветку шерстил:(
Вразумите, плз, что ставить, что не ставить, и в каком порядке для редакции Architect.
Если устанавливать не в папку C:\Program Files (x86), будут ли работать пакетные файлы и PatchTool.exe?
Или лучше сразу 10.4.1 ставить? Есть уже готовое рабочее решение?
[Профиль]  [ЛС] 

KostyantynKo

Top Bonus 03* 1TB

Стаж: 15 лет 3 месяца

Сообщений: 1634

KostyantynKo · 03-Сен-20 01:10 (спустя 1 час 42 мин., ред. 03-Сен-20 01:10)

Старое надо всё сносить, и чистить папки в ручном режиме..
Новая раздача:
Embarcadero RAD Studio 10.4.1 Sydney Architect Version 27.0.38860.1461
[Профиль]  [ЛС] 

Panf2

Старожил

Стаж: 15 лет 1 месяц

Сообщений: 832

Panf2 · 03-Сен-20 17:33 (спустя 16 часов)

Oh my God!
Я только доустановил все нужные компоненты в среду 10.4 и теперь всё с начала??
[Профиль]  [ЛС] 

snegsever

Старожил

Стаж: 15 лет 4 месяца

Сообщений: 66

snegsever · 05-Сен-20 12:29 (спустя 1 день 18 часов)

Panf2 писал(а):
80007245Oh my God!
Я только доустановил все нужные компоненты в среду 10.4 и теперь всё с начала??
Ага!
Одно радует - все пакеты от 10.4 в 10.4.1 ставятся прекрасно.
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error