ССП
Не поднимешься в горы - не узнаешь высоты неба; не спустишься в бездну - не узнаешь толщи земли.
  • Главная
  • Programming
    • Utilities
    • Libraries
    • Embarcadero
      • DataSnap
      • Resources
  • Заметки на полях
    • Ruby+Redmine
    • Веб администрирование
    • Разное
  • DIY, electronics
  • Багтрекер
  • Файлы
  1. Programming
  2. Embarcadero

Материалы по технологиям программирования с использованием продуктов Embarcadero.

Создаем объект Delphi из его метакласса в С++ Builder. Серия 2

Информация о материале
Автор: Vsevolod V Gromov
Категория: Embarcadero
Опубликовано: 21 марта 2014
Просмотров: 2959

В предыдущей серии мы создавали объекты с использованием обертки, написанной на Delphi, включенной в проект C++ Builder. В этот раз сделаем еще лучше - напишем параметризованный вызов конструктора объекта Delphi на С++, используя Delphi RTTI.

Подробнее

Компиляция design-time пакетов из паскалевских исходников в С++ Builder

Информация о материале
Автор: Vsevolod V Gromov
Категория: Embarcadero
Опубликовано: 26 февраля 2014
Просмотров: 2703

Изначально компилятор паскаля будет ругаться на ненайденные модули (dcu) из состава ToolsAPI. Даже если пакет С++ Builder использует designide.bpi, модули в нем перечислены объектные, с расширением obj, а нужны dcu.

Проблема решается добавлением опции '-LUDesignIDE' в секцию Delphi Compiler, поле - Additional options to pass to compiler

Update locker using RAII

Информация о материале
Автор: Vsevolod V Gromov
Категория: Embarcadero
Опубликовано: 22 февраля 2014
Просмотров: 2779

Этот небольшой полезный шаблонный хелпер позволяет автоматически запрещать и разрешать обновления компонентов, используя RAII идиому. Освобождение залоченного объекта произойдет даже при возникновении исключительной ситуации.

Подробнее

Создаем Delphi объекты из метаклассов в С++ Builder

Информация о материале
Автор: Vsevolod V Gromov
Категория: Embarcadero
Опубликовано: 22 февраля 2014
Просмотров: 3623

В Дельфи есть удобный сервис создания объектов\компонентов из известного метакласса этого объекта\компонента.

В C++ Builder такого сервиса язык С++ не предоставляет (насколько я знаю), даже с учетом его нестандартных расширений Embarcadero. Реализовать недостающий функционал можно используя симбиоз из pas и cpp. Кроме того, надо понимать, что этот подход работает только для чистых Delphi объектов. С++ класс, порожденный от базового Delphi класса, это уже гибрид, который с помощью такого метода создавать небезопасно.

Подробнее

Если вы строите проект Дельфи компонента для С++ Билдера

Информация о материале
Автор: Vsevolod V Gromov
Категория: Embarcadero
Опубликовано: 20 февраля 2014
Просмотров: 2844

Вы строите/перестраиваете компонент дельфи для использования в С++ Builder, имея только установленный С++ Builder. Используйте MSBuild из командной строки. Добавьте в проект dproj в базовые опции элемент

<DCC_CBuilderOutput>All</DCC_CBuilderOutput>

. Это заставит компилятор генерировать необходимые файлы для использования полученных компонентов в проектах Builder. Add

<DCC_CBuilderOutput>All</DCC_CBuilderOutput>

 to dproj file to generate C++ Builder bpi|hpp etc. files when building delphi packages for c++ with msbuild.

RTTI InheritsFrom replacement for C++ Builder

Информация о материале
Автор: Vsevolod V Gromov
Категория: Embarcadero
Опубликовано: 20 февраля 2014
Просмотров: 2946

Я подчеркиваю, для XE4, т.к. экосистема Эмбаркадеро постоянно изменяется и растет.

// InheritsFrom does not work properly in C++ Builder (as many other Delphi RTTI stuff)
bool isInheritedFrom(TRttiInstanceType* t1, TRttiInstanceType* t2)
{
	if( t1 && t2 )
	{
		while( t1 )
		{
			if( t1 == t2 )
				return true;

			t1 = t1->BaseType;
		}
	}

	return false;
}

Ошибка при запуске exe, AV на этапе создания формы.

Информация о материале
Автор: Vsevolod V Gromov
Категория: Embarcadero
Опубликовано: 15 октября 2013
Просмотров: 3764

Вводные.

Embarcadero C++ Builder XE4 (но встречалось неоднократно и в других версиях билдера)

Ситуация (довольно таки распространенная) следующая:

  1. Есть проект exe, использующий сторонние компоненты
  2. Сторонние компоненты периодически обновляются
  3. После очередного обновления компонентов запускаем (почищенный, нормально скомпилированный) проект, получаем - AV где-то в недрах, на этапе создания формы, использующей сторонние компоненты.

Решение - см. далее...

Подробнее

Подключение к exe своих ран-тайм пакетов

Информация о материале
Автор: Vsevolod V Gromov
Категория: Embarcadero
Опубликовано: 29 мая 2013
Просмотров: 6126

Предыстория.

Среда - С++ Builder XE4.

Визуальный фреймворк - FireMonkey3.

Есть группа проектов, несколько дллей, рантайм-пакеты, и исполняемый файл, который это все хозяйство использует.

Проблема.

  1. Проект исполняемого файла не линкует к себе мои локальные рантайм-пакеты
  2. Если принудительно включить bpi файлы моих пакетов в проект, они линкуются всегда динамически, даже если снять в опциях проекта флажок "Link with Runtime packages"

Подробнее

  1. Building boost spirit projects in Embarcadero C++ Builder
  2. Building wxWidgets in Embarcadero
  3. Server-side constraints in DataSnap
  4. Клиент-Сервер на DataSnap. Краткая памятка
  5. Delphi 11.2 BLE for Android
  6. Delphi 11.2 BLE for Windows RT

Страница 2 из 3

  • 1
  • 2
  • 3

Популярные метки

programming 17 embarcadero 8 esscript 8 third-parties 6 embedded 4 firemonkey 4 example 4 utilities 3 styles 3 excatsoft 3

Последние публикации

  • Delphi 11.2 BLE for Android
  • Delphi 11.2 BLE for Windows RT
  • ESS Scripting Console command line parameters
  • PZEM T004 Single-phase mains parameter WIFI logger using ESP8266
  • C++ Reflection approach
  • ESS script to convert UTF-8 into C escaped hex
  • Implementing custom-drawn series for FMX TeeChart library
  • building boost with MSVC from command line
  • Example of changes to the new version of esscript
  • SDMMC over SPI library with ESP8266
  • ES Script example of I2C interfacing to OPT3001 lighting sensor
  • ES Script example of communicating with AD-7732 UART camera
  • Deploying and Signing OSX app the right way
  • FTDI EVE header library
  • ES Script example of FTDI MPSSE controlling 28BYJ-48 stepper motor
  • PO2TXT converter script for FMX TLang

Самое читаемое

  • Конфигурация svnserve
  • Подключение к exe своих ран-тайм пакетов
  • esscript NMEA parser
  • NXP MCU ISP excerpt from ES Script codebase
  • Интеграция Bitnami redmine 2.х stack и Collabnet SVN
Яндекс.Метрика

Сейчас на сайте 130 гостей и нет пользователей

Воскресенье, 29 июня 2025 ©2025 - ExactSoft - All rights reserved

Лента новостей