- Информация о материале
- Автор: Vsevolod V Gromov
- Категория: Libraries
- Просмотров: 3530
About couple years ago, I've faced neccessity to add Auto-update functionality to my software. There were several restrictions, to which this tool should comply.
- Freeware, open source.
- Intuitive programming interface.
- Final binary should be independent of any external libraries.
- Easy to integrate with a product
- Информация о материале
- Автор: Vsevolod V Gromov
- Категория: Embarcadero
- Просмотров: 2607
Писал для буржуинского блога на межязыке, уж не обессудьте...
I remember stepping on the stl+locale+stream+static linkage bugs as early as CB6 was major tool for our team.
- Информация о материале
- Автор: Vsevolod V Gromov
- Категория: Embarcadero
- Просмотров: 2893
В предыдущей серии мы создавали объекты с использованием обертки, написанной на Delphi, включенной в проект C++ Builder. В этот раз сделаем еще лучше - напишем параметризованный вызов конструктора объекта Delphi на С++, используя Delphi RTTI.
- Информация о материале
- Автор: Vsevolod V Gromov
- Категория: Embarcadero
- Просмотров: 2700
Изначально компилятор паскаля будет ругаться на ненайденные модули (dcu) из состава ToolsAPI. Даже если пакет С++ Builder использует designide.bpi, модули в нем перечислены объектные, с расширением obj, а нужны dcu.
Проблема решается добавлением опции '-LUDesignIDE' в секцию Delphi Compiler, поле - Additional options to pass to compiler
- Информация о материале
- Автор: Vsevolod V Gromov
- Категория: Embarcadero
- Просмотров: 2715
Этот небольшой полезный шаблонный хелпер позволяет автоматически запрещать и разрешать обновления компонентов, используя RAII идиому. Освобождение залоченного объекта произойдет даже при возникновении исключительной ситуации.
- Информация о материале
- Автор: Vsevolod V Gromov
- Категория: Embarcadero
- Просмотров: 3555
В Дельфи есть удобный сервис создания объектов\компонентов из известного метакласса этого объекта\компонента.
В C++ Builder такого сервиса язык С++ не предоставляет (насколько я знаю), даже с учетом его нестандартных расширений Embarcadero. Реализовать недостающий функционал можно используя симбиоз из pas и cpp. Кроме того, надо понимать, что этот подход работает только для чистых Delphi объектов. С++ класс, порожденный от базового Delphi класса, это уже гибрид, который с помощью такого метода создавать небезопасно.
- Информация о материале
- Автор: Vsevolod V Gromov
- Категория: Embarcadero
- Просмотров: 2775
Вы строите/перестраиваете компонент дельфи для использования в С++ 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.
- Информация о материале
- Автор: Vsevolod V Gromov
- Категория: Embarcadero
- Просмотров: 2872
Я подчеркиваю, для 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 на этапе создания формы.
- Перезагрузка персонального MySQL на хостинге Zenon
- Joomla + Pop Image Slider + JoomShopping
- Подключение к exe своих ран-тайм пакетов
- Server-side constraints in DataSnap
- Клиент-Сервер на DataSnap. Краткая памятка
- Building boost spirit projects in Embarcadero C++ Builder
- Building wxWidgets in Embarcadero