Embarcadero RAD Studio 13.0 Florence Architect Version 37.0.57242.3601 [2025, MULTILANG]

Страницы :   Пред.  1, 2, 3, 4, 5, 6  След.
Ответить
 

evgenij_es

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

Сообщений: 20


evgenij_es · 18-Сен-25 09:31 (1 месяц назад)

Кстати, в этой версии "поодпадали" флаги, типа:
{$SetPEFlags IMAGE_FILE_RELOCS_STRIPPED}
{$SetPEFlags IMAGE_FILE_DEBUG_STRIPPED}
{$SetPEFlags IMAGE_FILE_LINE_NUMS_STRIPPED}
{$SetPEFlags IMAGE_FILE_LOCAL_SYMS_STRIPPED}
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP}
{$SetPEFlags IMAGE_FILE_NET_RUN_FROM_SWAP}
{$SetPEFlags IMAGE_FILE_EXECUTABLE_IMAGE}

Может кто знает, чего это они? Ошибка - E2003 Undeclared identifier.
[Профиль]  [ЛС] 

EXXON VALDEZ

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

Сообщений: 66

EXXON VALDEZ · 18-Сен-25 11:45 (спустя 2 часа 13 мин.)

evgenij_es писал(а):
88220545Кстати, в этой версии "поодпадали" флаги, типа:
{$SetPEFlags IMAGE_FILE_RELOCS_STRIPPED}
{$SetPEFlags IMAGE_FILE_DEBUG_STRIPPED}
{$SetPEFlags IMAGE_FILE_LINE_NUMS_STRIPPED}
{$SetPEFlags IMAGE_FILE_LOCAL_SYMS_STRIPPED}
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP}
{$SetPEFlags IMAGE_FILE_NET_RUN_FROM_SWAP}
{$SetPEFlags IMAGE_FILE_EXECUTABLE_IMAGE}

Может кто знает, чего это они? Ошибка - E2003 Undeclared identifier.
Эти константы живут в модуле %RADStudio%\37.0\source\rtl\win\Winapi.Windows.pas

Вот так компилится:
Код:

program xxx;
{$APPTYPE CONSOLE}
{$R *.res}
uses
  Windows, System.SysUtils;
{$SetPEFlags IMAGE_FILE_RELOCS_STRIPPED}         // 0x0001 - Удаление из exe таблицы релокаций.
{$SetPEFlags IMAGE_FILE_DEBUG_STRIPPED}          // 0x0200 - Удаление из ехе Debug информации
{$SetPEFlags IMAGE_FILE_LINE_NUMS_STRIPPED}      // 0x0004 - Удаление из exe информации о номерах строк
{$SetPEFlags IMAGE_FILE_LOCAL_SYMS_STRIPPED}     // 0x0008 - Удаление local symbols
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP} // 0x0400 - При запуске exe с компакта, флэшки, других извлекаемых устройств, считать exe в свап и запустить оттуда. Полезно, если нужно запустить программу с компакта, а потом попросить вставить другой...
{$SetPEFlags IMAGE_FILE_NET_RUN_FROM_SWAP}       // 0x0800 - Аналогично предыдущей, только для сетевых дисков
{$SetPEFlags IMAGE_FILE_EXECUTABLE_IMAGE}        // 0x0002 - The file is executable (there are no unresolved external references)
begin
  try
    { TODO -oUser -cConsole Main : Insert code here }
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
[Профиль]  [ЛС] 

evgenij_es

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

Сообщений: 20


evgenij_es · 18-Сен-25 12:13 (спустя 28 мин.)

Да, это я затупил.
[Профиль]  [ЛС] 

temp128

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

Сообщений: 483

temp128 · 18-Сен-25 19:43 (спустя 7 часов, ред. 20-Сен-25 12:08)

KostyantynKo писал(а):
88220309... C++ Тербует WinSDK, но при попытке его прикрутить, сразу вылетает... Пока что без вариантов ...
Меня поражают разработчики Embarcadero. C одной стороны, они создают, очень сложный продукт, а с другой - косячат на мелочах.
Им для того, чтобы написать приложение "Hello World" нужна Windows 10/11. И для того, чтобы написать, не сложное приложение под Windows, нужны костыли MINGW / MSYS2 ( Эти библиотеки созданы для того, чтобы переносить приложения, созданные для UNIX / Linux, на Windows без изменений. А для создания, родного приложения, для Windows, на ... они нужны ? ).
Ну а теперь как ставить RAD Studio под Windows 7:
  1. Делаем всё, как писал KostyantynKo.
  2. Пытаемся "прикрутить SDK", как обычно - возникает ошибка.
  3. Качаем отсюда архив: https://mega.nz/file/QRAEVSxI#ZXQhAWvO8ld_ugbMyu0CX6XPDlX90_bS9YSyXu9YCPg
  4. Из каталога include, архива, копируем всё содержимое в: C:\Users\%USER_NAME%\Documents\Embarcadero\Studio\SDKs\Win10SDK10.0.26100.0.sdk\include
  5. Заменяем файл patchsdk.exe ( старый, просто переименуйте ), в каталоге: %RAD_STUDIO%\bin\windows\patchsdk, фйлом из каталога patchsdk архива.
  6. Снова пытаемся прикрутить SDK, как обычно - запускается robocopy и копирует файлы в %RAD_STUDIO%\inlude\windows\sdk. Все OK.
  7. Все пользуемся RAD Studio в Windows 7.
Как это работает:
скрытый текст
  1. При попытке, "прикрутить SDK", RAD Studio, вызывает patchsdk.exe с такими параметрами:
    Код:
    patchsdk.exe -q "C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0" "C:\Users\%USER_NAME%\Documents\Embarcadero\Studio\SDKs\Win10SDK10.0.26100.0.sdk\include"
  2. patchsdk.exe копирует из каталога C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0 все файлы, что перечислены в файле sdk-10.0.26100.4948.lst в каталог C:\Users\%USER_NAME%\Documents\Embarcadero\Studio\SDKs\Win10SDK10.0.26100.0.sdk\include
  3. patchsdk.exe вызывает программу patch.exe передавая ей файл sdk-10.0.26100.4948.patch.
  4. patch.exe адаптирует исходные файлы SDK под компиляторы Borland/Codegear/Embarcadero.
  5. Если patchsdk.exe вернула код возврата == 0, то: RAD Studio вызывает robocopy, которая переносит файлы в %RAD_STUDIO%\inlude\windows\sdk.
Мой patchsdk.exe это:
Код:
int main(int, char *[])
{
    return 0;
}
Файлы, в каталоге include архива, получены вызовом, оригинальной patchsdk.exe, в Windows 10 ( как написано в пункте 1. ).
PS: В Windows 7, приложение ( на С++ ) собирается для 3-х платформ (Win32, Win64, Win64 modern), но отладчик работает только для Win32. Видимо, новые отладчики C++ для Windows 64-bit, более не совместимы с Windows 7 ! Отладчики для Delphi, и 32-х битный, и 64-х битный работают.
[Профиль]  [ЛС] 

Hunter1972

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

Сообщений: 196


Hunter1972 · 19-Сен-25 08:15 (спустя 12 часов)

Люди подскажите что нибудь появилось в посл версиях наподобие TThreadList для records, чтото вроде TThreadRecord<TSomeRecord> чтобы доступ write к record из потоков всегда был синхронный?
[Профиль]  [ЛС] 

ziv_2008

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

Сообщений: 12


ziv_2008 · 19-Сен-25 15:42 (спустя 7 часов, ред. 19-Сен-25 15:42)

temp128 писал(а):
88220081Приветствую Всех !
На Windows 7, кто-нибудь, ставить пробовал ? Опыт имеется ?
Delphi ставится и работает со своими глюками.
Что случилось с refactor (рефакторинг)? Перестало работать.
[Профиль]  [ЛС] 

avegraf

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

Сообщений: 4


avegraf · 19-Сен-25 23:34 (спустя 7 часов)

Доброе время суток. А данная версия уже поддеожует iOS26 со всеми её UI?
[Профиль]  [ЛС] 

hjklpoiuy

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

Сообщений: 80


hjklpoiuy · 20-Сен-25 14:23 (спустя 14 часов)

Ehlib кто-то смог прикрутить?
[Профиль]  [ЛС] 

AtomD

Старожил

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

Сообщений: 727

AtomD · 20-Сен-25 18:06 (спустя 3 часа)

avegraf писал(а):
88228406Доброе время суток. А данная версия уже поддеожует iOS26 со всеми её UI?
https://docwiki.embarcadero.com/RADStudio/Florence/en/Supported_Target_Platforms - Поддерживаемые платформы.
[Профиль]  [ЛС] 

temp128

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

Сообщений: 483

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

AtomD писал(а):
88231608
avegraf писал(а):
88228406Доброе время суток. А данная версия уже поддеожует iOS26 со всеми её UI?
https://docwiki.embarcadero.com/RADStudio/Florence/en/Supported_Target_Platforms - Поддерживаемые платформы.
Вот, Windows 7 уже исключили из целевых платформ !
[Профиль]  [ЛС] 

Wallenn

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

Сообщений: 74


Wallenn · 20-Сен-25 23:59 (спустя 1 час 50 мин., ред. 21-Сен-25 20:22)

KostyantynKo писал(а):
88216669В спойлере раздачи Как патчить? и способ установки есть вся возможная инструкция по установке.
Может, это вам будет интересно, а, может, и не будет. У меня один раз патчер не смог пропатчить инсталлер radstudio_13_esd_123601a.exe.
temp128 писал(а):
Меня поражают разработчики Embarcadero. C одной стороны, они создают, очень сложный продукт, а с другой - косячат на мелочах.
скрытый текст
Я вообще не понимаю, на что они существуют. Ибо кому они свое поделие продают? Я знаю только один пример коммерческого софта, написанного на их поделии - это Quest Toad. Неужели они только на деньги от Quest живут? Впрочем, почему бы и нет - у них же в компании всего три человека работают. Плюс секретарша, плюс уборщица. Много им денег не надо. Их бизнес загнулся еще в 2000-х, когда поделие Borland стало никому не нужно. Borland попыталась подразделение поделия продать, но оно тоже было никому не нужно, и потому Borland померла. То, что сейчас от нее осталось - это живым не назовешь. Огрызок компании. Чем они там занимаются? Бизьнись консультированием?
Поделиё было еще как-то успешно в начале 2000-х, но с тех пор оно морально устарело. А три человека, что остались в Абракадабре на поделии не могут обеспечить качественный продукт. Да им и не надо. Они трое как-нибудь проживут на остатках клиентской базы. Потому они и не правят баги и вообще давно положили на пользователей поделия большой болт.
[Профиль]  [ЛС] 

hattab_ali

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

Сообщений: 179


hattab_ali · 21-Сен-25 00:02 (спустя 2 мин.)

Wallenn
Закусывать надо!
[Профиль]  [ЛС] 

Кутя Гавкин

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

Сообщений: 18


Кутя Гавкин · 21-Сен-25 01:16 (спустя 1 час 14 мин.)

Кто нибудь может подсказать что входит в виндовс SDK минимальную конфигурацию
[Профиль]  [ЛС] 

KostyantynKo

Top Bonus 03* 1TB

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

Сообщений: 1647

KostyantynKo · 21-Сен-25 05:03 (спустя 3 часа)

Кутя Гавкин писал(а):
88233362Кто нибудь может подсказать что входит в виндовс SDK минимальную конфигурацию
https://rutr.life/forum/viewtopic.php?p=88198182#88198182
[Профиль]  [ЛС] 

milkoboss

Стаж: 1 год 11 месяцев

Сообщений: 16


milkoboss · 21-Сен-25 09:03 (спустя 3 часа, ред. 21-Сен-25 09:03)

Я в толк всё не возьму, зачем вы это говно качаете и ставите??? что бы кодить профессионально нужно знать с++, а зная с++ можно в домашних условиях писать в любой ide, вообще в любой хоть в visual code собирать проекты. Если говорить за промышленный стандарт и работу программистом, везде от слова ВЕЗДЕ где не пишут в компаниях, только в вижуал студии от мелкомягких это стандарт, последние 25 лет на рынке и меняться что-то в с++ не собирается от слова ВООБЩЕ.
Вопрос, зачем это говно глючное нужно, если профессионально его использовать нигде нельзя, а на изучение нужно потратить время. а времени нет на просто "знать", зачем тратить время на то, что мертворожденное, если есть стандарт и рабочая практика в компаниях.
[Профиль]  [ЛС] 

apachx

Стаж: 1 месяц 21 день

Сообщений: 2


apachx · 21-Сен-25 10:34 (спустя 1 час 30 мин.)

milkoboss писал(а):
88233960Я в толк всё не возьму, зачем вы это говно качаете и ставите??? что бы кодить профессионально нужно знать с++, а зная с++ можно в домашних условиях писать в любой ide, вообще в любой хоть в visual code собирать проекты. Если говорить за промышленный стандарт и работу программистом, везде от слова ВЕЗДЕ где не пишут в компаниях, только в вижуал студии от мелкомягких это стандарт, последние 25 лет на рынке и меняться что-то в с++ не собирается от слова ВООБЩЕ.
Вопрос, зачем это говно глючное нужно, если профессионально его использовать нигде нельзя, а на изучение нужно потратить время. а времени нет на просто "знать", зачем тратить время на то, что мертворожденное, если есть стандарт и рабочая практика в компаниях.
Як сказав пан вище: "Закусывать надо!"
[Профиль]  [ЛС] 

Кутя Гавкин

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

Сообщений: 18


Кутя Гавкин · 21-Сен-25 12:06 (спустя 1 час 32 мин., ред. 21-Сен-25 12:06)

milkoboss писал(а):
88233960Я в толк всё не возьму, зачем вы это говно качаете и ставите???
корифей говна
KostyantynKo писал(а):
88233631
Кутя Гавкин писал(а):
88233362Кто нибудь может подсказать что входит в виндовс SDK минимальную конфигурацию
https://rutr.life/forum/viewtopic.php?p=88198182#88198182
то, что с галками? или то, что выделено?
[Профиль]  [ЛС] 

KostyantynKo

Top Bonus 03* 1TB

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

Сообщений: 1647

KostyantynKo · 21-Сен-25 12:20 (спустя 13 мин.)

Кутя Гавкин писал(а):
88234613то, что с галками? или то, что выделено?
Можете попробовать то, что выставлено галками. Если что, доставить всегда можно.
[Профиль]  [ЛС] 

hattab_ali

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

Сообщений: 179


hattab_ali · 22-Сен-25 00:40 (спустя 12 часов)

Кутя Гавкин писал(а):
88234613то, что с галками? или то, что выделено?
Снимаешь все галки. Ставишь ту, что выделена (или ниже, ту, что amd64). Остальные проставятся сами.
[Профиль]  [ЛС] 

milkoboss

Стаж: 1 год 11 месяцев

Сообщений: 16


milkoboss · 22-Сен-25 03:05 (спустя 2 часа 24 мин.)

Стало немного понятней, какой контингент это качает.
[Профиль]  [ЛС] 

KostyantynKo

Top Bonus 03* 1TB

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

Сообщений: 1647

KostyantynKo · 22-Сен-25 09:46 (спустя 6 часов, ред. 22-Сен-25 09:46)

hattab_ali писал(а):
88237829
Кутя Гавкин писал(а):
88234613то, что с галками? или то, что выделено?
Снимаешь все галки. Ставишь ту, что выделена (или ниже, ту, что amd64). Остальные проставятся сами.
temp128 писал(а):
88222380
KostyantynKo писал(а):
88220309... C++ Тербует WinSDK, но при попытке его прикрутить, сразу вылетает... Пока что без вариантов ...
Меня поражают разработчики Embarcadero. C одной стороны, они создают, очень сложный продукт, а с другой - косячат на мелочах.
Им для того, чтобы написать приложение "Hello World" нужна Windows 10/11. И для того, чтобы написать, не сложное приложение под Windows, нужны костыли MINGW / MSYS2 ( Эти библиотеки созданы для того, чтобы переносить приложения, созданные для UNIX / Linux, на Windows без изменений. А для создания, родного приложения, для Windows, на ... они нужны ? ).
Ну а теперь как ставить RAD Studio под Windows 7:
  1. Делаем всё, как писал KostyantynKo.
  2. Пытаемся "прикрутить SDK", как обычно - возникает ошибка.
  3. Качаем отсюда архив: https://mega.nz/file/QRAEVSxI#ZXQhAWvO8ld_ugbMyu0CX6XPDlX90_bS9YSyXu9YCPg
  4. Из каталога include, архива, копируем всё содержимое в: C:\Users\%USER_NAME%\Documents\Embarcadero\Studio\SDKs\Win10SDK10.0.26100.0.sdk\include
  5. Заменяем файл patchsdk.exe ( старый, просто переименуйте ), в каталоге: %RAD_STUDIO%\bin\windows\patchsdk, фйлом из каталога patchsdk архива.
  6. Снова пытаемся прикрутить SDK, как обычно - запускается robocopy и копирует файлы в %RAD_STUDIO%\inlude\windows\sdk. Все OK.
  7. Все пользуемся RAD Studio в Windows 7.
Как это работает:
скрытый текст
  1. При попытке, "прикрутить SDK", RAD Studio, вызывает patchsdk.exe с такими параметрами:
    Код:
    patchsdk.exe -q "C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0" "C:\Users\%USER_NAME%\Documents\Embarcadero\Studio\SDKs\Win10SDK10.0.26100.0.sdk\include"
  2. patchsdk.exe копирует из каталога C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0 все файлы, что перечислены в файле sdk-10.0.26100.4948.lst в каталог C:\Users\%USER_NAME%\Documents\Embarcadero\Studio\SDKs\Win10SDK10.0.26100.0.sdk\include
  3. patchsdk.exe вызывает программу patch.exe передавая ей файл sdk-10.0.26100.4948.patch.
  4. patch.exe адаптирует исходные файлы SDK под компиляторы Borland/Codegear/Embarcadero.
  5. Если patchsdk.exe вернула код возврата == 0, то: RAD Studio вызывает robocopy, которая переносит файлы в %RAD_STUDIO%\inlude\windows\sdk.
Мой patchsdk.exe это:
Код:
int main(int, char *[])
{
    return 0;
}
Файлы, в каталоге include архива, получены вызовом, оригинальной patchsdk.exe, в Windows 10 ( как написано в пункте 1. ).
PS: В Windows 7, приложение ( на С++ ) собирается для 3-х платформ (Win32, Win64, Win64 modern), но отладчик работает только для Win32. Видимо, новые отладчики C++ для Windows 64-bit, более не совместимы с Windows 7 ! Отладчики для Delphi, и 32-х битный, и 64-х битный работают.
[Профиль]  [ЛС] 

Antarey

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

Сообщений: 6


Antarey · 22-Сен-25 13:08 (спустя 3 часа)

После блокировки серверов в hosts - getit будет работать?
[Профиль]  [ЛС] 

evgenij_es

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

Сообщений: 20


evgenij_es · 22-Сен-25 15:07 (спустя 1 час 59 мин.)

Может кто знает - поведение курсора в окне редактора. В этой версии он просто исчезает при наборе кода или при переходе в начало строки. При большом количестве строк и навигации - очень неудобно. В прошлой версии было идеально, всегда видно где находится курсор. Может это где-то настраивается?
[Профиль]  [ЛС] 

KostyantynKo

Top Bonus 03* 1TB

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

Сообщений: 1647

KostyantynKo · 23-Сен-25 05:07 (спустя 13 часов)

Antarey писал(а):
88239226После блокировки серверов в hosts - getit будет работать?
Те которые блокирует КейПатч, да, GetIt будет работать. Еще рекомендуется применить "Optional: Patch/Restore GetIt Package Manager", см скриншот в шапке раздачи.
[Профиль]  [ЛС] 

imobile2008

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

Сообщений: 7


imobile2008 · 23-Сен-25 09:55 (спустя 4 часа)

EXXON VALDEZ писал(а):
88219490
hattab_ali писал(а):
Расцветка кода суровая
Чо не так-то?
hattab_ali писал(а):
А можно по подробнее, что за компоненты перетащить получилось, и с нами поделиться заодно, если не сложно конечно.
JEDI, VirtualTreeView, HtmlViewer, SpTBXLib, CPortLib и ещё штук 100-200 отдельных компонентов по мелочи, объединённые в самодельные пакеты. Несколько модулей пришлось немного править, но некритично.
Подскажите, а как вы добиваетесь что бы компоненты были активные? Пробую SVGIconImageList, и в 32 битной ставил и в 64, как только не пробовал, ставится хорошо, но в 64 битной не активно и нельзя перетащить. Какие есть рекомендации по установке в 64x визуальных компонентов, особенно старых?
[Профиль]  [ЛС] 

AlexCoRu

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

Сообщений: 17


AlexCoRu · 23-Сен-25 19:35 (спустя 9 часов)

hjklpoiuy писал(а):
88230635Ehlib кто-то смог прикрутить?
Смог.
[Профиль]  [ЛС] 

hjklpoiuy

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

Сообщений: 80


hjklpoiuy · 23-Сен-25 22:00 (спустя 2 часа 24 мин.)

AlexCoRu писал(а):
88244496
hjklpoiuy писал(а):
88230635Ehlib кто-то смог прикрутить?
Смог.
Класс, а можно чуть подробнее (как удобно, сюда или в личку) если не сложно?
[Профиль]  [ЛС] 

imatra82

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

Сообщений: 89


imatra82 · 23-Сен-25 23:48 (спустя 1 час 48 мин., ред. 23-Сен-25 23:48)

> предлагает ряд улучшений для языка Delphi, начиная с наиболее востребованного расширения языка — тернарного оператора. Реализованный с помощью ключевого слова «if»...
Да, застой идей, конечно, на лицо.
Даже в бесплатном FPC + Lazarus и то появляются более нужные языковые фичи.
например:
- удобные операторы +=, *= и т.п. как в Си-шных языках,
- CORBA интерфейсы с произвольными именами и без необходимости делать заглушки на счётчиках ссылок
- Возможность писать наглядные операции в дженериках (типа +/-/*/>/= и т.п.) на манер шаблонов в C++, а не ужасными изворотами
- наследование хелперов
и т.п.
Не говоря уже о действительно реальной кроссплатформенности среды с возможностью отладки хоть даже ARM ассемблерного кода.
И ведь это народ за бесплатно раздаёт без необходимости тянуть с торрентов!

Ну а в Delphi наконец-то бесконечно нужные, suка, тернальные операторы.
Как без них дельфисты раньше жили, ума не приложу?! )))
Зато 100 лет как обещанной оптимизации плавающей точки и вообще глобальной оптимизации на манер C++ как не было так и нет.
[Профиль]  [ЛС] 

hattab_ali

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

Сообщений: 179


hattab_ali · 24-Сен-25 00:40 (спустя 52 мин., ред. 24-Сен-25 00:40)

imatra82 писал(а):
88245547- удобные операторы +=, *= и т.п. как в Си-шных языках,
- CORBA интерфейсы с произвольными именами и без необходимости делать заглушки на счётчиках ссылок
И то и другое - бесполезная шняга. Хочется Си-стайл - бери Си и не лезь в Паскаль.
imatra82 писал(а):
88245547- Возможность писать наглядные операции в дженериках (типа +/-/*/>/= и т.п.) на манер шаблонов в C++, а не ужасными изворотами
Это кажущаяся простота. Там чуть шаг в сторону и встреваешь точно так-же на извороты, еще и ошибки при инстанциации таких дженериков отлавливать просто песТня.
imatra82 писал(а):
88245547Не говоря уже о действительно реальной кроссплатформенности среды с возможностью отладки хоть даже ARM ассемблерного кода.
С которой все хорошо только на винде. Для линукса даже поддержку GTK3 еще не запилили, а между прочим, GTK4 вот-вот исполнится 5 лет.
Короче, ныть прекращaйте уже, а...
imatra82 писал(а):
88245547Ну а в Delphi наконец-то бесконечно нужные, suка, тернальные операторы.
Как без них дельфисты раньше жили, ума не приложу?! )))
Зато в Delphi завезли inline variables, скоуп которых ограничивается блоком декларации (с прологом и эпилогом соответственно) . Декларация счетчика цикла по-месту - удобнейшая фича. Лет через 10, может быть, приедет и во Free Pascal. Для прикола, поинтересуйся, как в FPC работают конструкторы классов - абассаца, они скопировали фичу, но не поняли нафига она нужна.
imatra82 писал(а):
88245547Зато 100 лет как обещанной оптимизации плавающей точки и вообще глобальной оптимизации на манер C++ как не было так и нет.
Думаю, это сделают, когда все бекенды переведут на LLVM. В общем, надо ждать.
[Профиль]  [ЛС] 

AlexCoRu

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

Сообщений: 17


AlexCoRu · 24-Сен-25 10:48 (спустя 10 часов, ред. 24-Сен-25 10:48)

hjklpoiuy,
они добавили новый тип поля (TFieldType) ftLargeUint, поэтому его надо добавить и в EhLib.
У меня EhLib 10.2.042. Добавляем в EhLib.Inc
скрытый текст
Код:

{$IFDEF VER370}         { RAD Studio XE 13 Win32/Win64) }
  {$DEFINE EH_LIB_5}
  {$DEFINE EH_LIB_6}
  {$DEFINE EH_LIB_7}
  {$DEFINE EH_LIB_8}
  {$DEFINE EH_LIB_9}
  {$DEFINE EH_LIB_10}
  {$DEFINE EH_LIB_11}
  {$DEFINE EH_LIB_12}
  {$DEFINE EH_LIB_13}
  {$DEFINE EH_LIB_14}
  {$DEFINE EH_LIB_16}
  {$DEFINE EH_LIB_17}
  {$DEFINE EH_LIB_18}
  {$DEFINE EH_LIB_19}
  {$DEFINE EH_LIB_20}
  {$DEFINE EH_LIB_21}
  {$DEFINE EH_LIB_22}
  {$DEFINE EH_LIB_23}
  {$DEFINE EH_LIB_24}
  {$DEFINE EH_LIB_25}
  {$DEFINE EH_LIB_26}
  {$DEFINE EH_LIB_27}
  {$DEFINE EH_LIB_28}
  {$DEFINE EH_LIB_29}
  {$DEFINE EH_LIB_37} // { RAD Studio XE 13 }
  {$DEFINE TBookMarkAsTBytes}
  {$WARN SYMBOL_DEPRECATED OFF}
  {$DEFINE VistaThemesSuppored}
  {$DEFINE EH_LIB_ZIP}
  {$DEFINE SettingsKeeper}
{$ENDIF}
И везде, где используется этот тип в маппинге добавляем, например, MemTableDataEh.pas
скрытый текст
Код:

var
  DefaultDataFieldClasses: array[TFieldType] of TMTDataFieldClassEh = (
    TMTRefObjectFieldEh,        { ftUnknown }
    TMTStringDataFieldEh,       { ftString }
    TMTNumericDataFieldEh,      { ftSmallint }
    TMTNumericDataFieldEh,      { ftInteger }
    TMTNumericDataFieldEh,      { ftWord }
    TMTBooleanDataFieldEh,      { ftBoolean }
    TMTNumericDataFieldEh,      { ftFloat }
    TMTNumericDataFieldEh,      { ftCurrency }
    TMTNumericDataFieldEh,      { ftBCD }
    TMTDateTimeDataFieldEh,     { ftDate }
    TMTDateTimeDataFieldEh,     { ftTime }
    TMTDateTimeDataFieldEh,     { ftDateTime }
    TMTVariantDataFieldEh,      { ftBytes }
    TMTVariantDataFieldEh,      { ftVarBytes }
    TMTNumericDataFieldEh,      { ftAutoInc }
    TMTBlobDataFieldEh,         { ftBlob }
    TMTBlobDataFieldEh,         { ftMemo }
    TMTBlobDataFieldEh,         { ftGraphic }
    TMTBlobDataFieldEh,         { ftFmtMemo }
    TMTBlobDataFieldEh,         { ftParadoxOle }
    TMTBlobDataFieldEh,         { ftDBaseOle }
    TMTBlobDataFieldEh,         { ftTypedBinary }
    nil,                        { ftCursor }
    TMTStringDataFieldEh,       { ftFixedChar }
    TMTStringDataFieldEh,       { ftWideString }
    TMTNumericDataFieldEh,      { ftLargeInt }
    nil{TADTField},             { ftADT }
    nil{TArrayField},           { ftArray }
    nil{TReferenceField},       { ftReference }
    nil{TDataSetField},         { ftDataSet }
    TMTBlobDataFieldEh,         { ftOraBlob }
    TMTBlobDataFieldEh,         { ftOraClob }
    TMTVariantDataFieldEh,      { ftVariant }
    TMTInterfaceDataFieldEh,    { ftInterface }
    TMTInterfaceDataFieldEh,    { ftIDispatch }
    TMTStringDataFieldEh        { ftGuid }
    ,TMTSQLTimeStampDataFieldEh { ftTimeStamp }
    ,TMTNumericDataFieldEh      { ftFMTBCD }
  {$IFDEF FPC}
    ,nil
    ,nil
  {$ELSE}
  {$ENDIF}
{$IFDEF EH_LIB_10}
    ,TMTStringDataFieldEh       { ftFixedWideChar }
    ,TMTBlobDataFieldEh         { ftWideMemo }
    ,TMTSQLTimeStampDataFieldEh { ftOraTimeStamp }
    ,TMTStringDataFieldEh       { ftOraInterval }
{$ENDIF}
{$IFDEF EH_LIB_12}
    ,TMTNumericDataFieldEh      { ftLongWord }
    ,TMTNumericDataFieldEh      { ftShortint }
    ,TMTNumericDataFieldEh      { ftByte }
    ,TMTNumericDataFieldEh      { ftExtended }
    ,nil { ftConnection }
    ,nil { ftParams }
    ,nil { ftStream}
{$ENDIF}
{$IFDEF EH_LIB_13}
    ,TMTSQLTimeStampDataFieldEh { ftTimeStampOffset }
    ,nil                        { ftObject }
    ,TMTNumericDataFieldEh      { ftSingle }
{$ENDIF}
{$IFDEF EH_LIB_37}
    ,TMTNumericDataFieldEh      { ftLargeUint }
{$ENDIF}
    );
SQLDriverEditEh.pas
скрытый текст
Код:

var
  DataTypeNames :array [TFieldType] of String = (
    'ftUnknown', 'ftString', 'ftSmallint', 'ftInteger', 'ftWord',
    'ftBoolean', 'ftFloat', 'ftCurrency', 'ftBCD', 'ftDate', 'ftTime', 'ftDateTime',
    'ftBytes', 'ftVarBytes', 'ftAutoInc', 'ftBlob', 'ftMemo', 'ftGraphic', 'ftFmtMemo',
    'ftParadoxOle', 'ftDBaseOle', 'ftTypedBinary', 'ftCursor', 'ftFixedChar', 'ftWideString',
    'ftLargeint', 'ftADT', 'ftArray', 'ftReference', 'ftDataSet', 'ftOraBlob', 'ftOraClob',
    'ftVariant', 'ftInterface', 'ftIDispatch', 'ftGuid',
    'ftTimeStamp', 'ftFMTBcd'
{$IFDEF EH_LIB_10},  'ftFixedWideChar', 'ftWideMemo', 'ftOraTimeStamp', 'ftOraInterval'{$ENDIF}
{$IFDEF EH_LIB_12}, 'ftLongWord', 'ftShortint', 'ftByte', 'ftExtended', 'ftConnection', 'ftParams', 'ftStream' {$ENDIF}
{$IFDEF EH_LIB_13}, 'ftTimeStampOffset', 'ftObject', 'ftSingle' {$ENDIF}
{$IFDEF EH_LIB_37}, 'ftLargeUint' {$ENDIF}
    );
DBUtilsEh.pas
скрытый текст
Код:

const
  STFldTypeMapEh: array[TFieldType] of TSTOperandTypeEh = (
    botNon{ftUnknown}, botString{ftString}, botNumber{ftSmallint}, botNumber{ftInteger}, botNumber{ftWord},
    botBoolean{ftBoolean}, botNumber{ftFloat}, botNumber{ftCurrency}, botNumber{ftBCD}, botDateTime{ftDate}, botDateTime{ftTime}, botDateTime{ftDateTime},
    botNon{ftBytes}, botNon{ftVarBytes}, botNumber{ftAutoInc}, botNon{ftBlob}, botString{ftMemo}, botString{ftGraphic}, botString{ftFmtMemo},
    botString{ftParadoxOle}, botString{ftDBaseOle}, botString{ftTypedBinary}, botString{ftCursor}, botString{ftFixedChar}, botString{ftWideString},
    botNumber{ftLargeint}, botString{ftADT}, botString{ftArray}, botNon{ftReference}, botNon{ftDataSet}
    ,botString{ftOraBlob}, botString{ftOraClob}, botString{ftVariant}, botNon{ftInterface}, botNon{ftIDispatch}, botString{ftGuid}
    , botDateTime{ftTimeStamp}, botNumber{ftFMTBcd}
{$IFDEF FPC}
    ,botString ,botString
{$ENDIF}
{$IFDEF EH_LIB_10}
    ,botString, botString, botNon, botString
{$ENDIF}
{$IFDEF EH_LIB_12}
    ,botNumber, botNumber, botNumber, botNumber, botNon, botNon, botNon
{$ENDIF}
{$IFDEF EH_LIB_13}
    ,botNon, botNon, botNumber
{$ENDIF}
{$IFDEF EH_LIB_37}
    ,botNumber
{$ENDIF}
    );
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error