|
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
  Стаж: 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
  Стаж: 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
  Стаж: 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
  Стаж: 15 лет 3 месяца Сообщений: 1634
|
KostyantynKo ·
27-Авг-20 09:38
(спустя 1 день 8 часов)
|
|
temp128
 Стаж: 16 лет 5 месяцев Сообщений: 480
|
temp128 ·
27-Авг-20 13:46
(спустя 4 часа, ред. 31-Авг-20 13:11)
bg.gsv писал(а):
79942976Может кто-то знает рецепт как побороть либо компиляцию в многопотоке либо заставить работать автодополнение кода и переход к объявлениям через ctrl-клик левой кнопкой?
Есть несколько способов, они, конечно, не заставят работать среду разработки, "как нужно", но вот ускорить компиляцию можно !
- С помощью GNU make.
скрытый текст
- Ставим утилиту GNU make, например отсюда: http://gnuwin32.sourceforge.net/packages/make.htm.
- Пишем, например, такой 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)
- Не забываем main.cpp
скрытый текст
Код:
#include <iostream> int main(int argc, char *argv[])
{
std::cout << "Hello world" << std::endl; return 0;
}
- Вызываем утилиту make с ключём -j . У утилиты make от Borland нет возможности выполнять сборку во многих процессах.
- С помощью MSBuild.
скрытый текст
- Устанавливаем переменную среды окружения BDS
Код:
BDS=C:\Program Files (x86)\Embarcadero\Studio\21.0
- Из командной строки вызываем MSBuild с параметром /maxcpucount:<число процессов>.
Код:
msbuild /maxcpucount:4 <имя проекта>.cbproj
- С помощью 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-клик левой кнопкой?
Есть несколько способов, они, конечно, не заставят работать среду разработки, "как нужно", но вот ускорить компиляцию можно !
- С помощью GNU make.
скрытый текст
- Ставим утилиту GNU make, например отсюда: http://gnuwin32.sourceforge.net/packages/make.htm.
- Пишем, например, такой 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)
- Не забываем main.cpp
скрытый текст
Код:
#include <iostream> int main(int argc, char *argv[])
{
std::cout << "Hello world" << std::endl; return 0;
}
- Вызываем утилиту make с ключём -j . У утилиты make от Borland нет возможности выполнять сборку во многих процессах.
- С помощью MSBuild.
скрытый текст
- Устанавливаем переменную среды окружения BDS
Код:
BDS=C:\Program Files (x86)\Embarcadero\Studio\21.0
- Из командной строки вызываем 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.
Это, косвенно, как раз, и ведет к:
- Тому, что RAD Studio, при переключении между компиляторами, по разному себя ведет с автодополнением кода, переходами к объявлениям ...
- Тому, что имеется 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 проекта:
- Проект консольного приложения, в который, непосредственно включается модуль (addon.cpp), содержащий директиву #pragma alias.
- Проект консольного приложения, которое, использует статическую библиотеку (lib.lib), куда включен модуль (addon.cpp), содержащий директиву #pragma alias.
- Собственно сама статичекая библиотека с модулем (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 собирается из main.cpp и addon.cpp.
- Приложение 2 собирается из main.cpp и lib.lib.
- Бибиотека 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 файлов  .
Вот этим по чуть чуть и занимаюсь
Посмотрел их презентацию, довольно интересно. Постараюсь выкроить время и попробовать, по результатам отпишусь.
|
|
scrooge30
Стаж: 16 лет 5 месяцев Сообщений: 77
|
scrooge30 ·
02-Сен-20 14:42
(спустя 1 день 17 часов)
|
|
temp128
 Стаж: 16 лет 5 месяцев Сообщений: 480
|
temp128 ·
02-Сен-20 19:25
(спустя 4 часа)
|
|
KostyantynKo
  Стаж: 15 лет 3 месяца Сообщений: 1634
|
KostyantynKo ·
02-Сен-20 20:32
(спустя 1 час 6 мин.)
Да это всё оно. Надеюсь сегодня раздачу оформить
|
|
scrooge30
Стаж: 16 лет 5 месяцев Сообщений: 77
|
scrooge30 ·
02-Сен-20 20:33
(спустя 35 сек.)
|
|
PMUkrNet
Стаж: 17 лет 3 месяца Сообщений: 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
  Стаж: 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 ставятся прекрасно.
|
|
|