Информация о Borlnad C++ Builder
   

На этой странице я хотел опубликовать материалы, которые ранее не видел в сети и которые могут быть полезны другим программистам, использующим продукцию компании Borland. Продукты компании Borland содержат множество недокументированных и слабо документированных возможностей. Большинство из описанного здесь является либо результатом собственного опыта, либо информацией, полученной от друзей и коллег, за что я им очень благодарен.

 

Инструкция по установке Borland С++ Bulder 5 Enterprise Edition + Update1.

Все файлы дистрибутива обязательно должны находиться в корне диска. Если при установке после ввода серийного номера не показывается текст публичной оферты (лицензионного договора), то установка пойдёт неверно. После установки обязательно сразу же перезагрузите компьютер. После перезагрузки запустите Buider и проверьте, что пустой проект нормально компилится. В случае ошибок прочтите readme.txt (как правло проблемы возникают при регистрации borlndm.dll)и замечания по установке. Если ничего не помогло, пишите мне на электронную почту. Обязательно установите Update1 (у меня он назывался BCB5EntUpdate1.exe) и прочтите список ошибок ниже. C неустановленным Update1 возможны ошибки при обработке класса TMetafile.

На мой взгляд Borland C++ Builder является неплохим выбором для разработки прикладных программ для Windows. Однако и в нём есть ошибки. Вот список известных мне ошибок и некоторые возможные способы их решения:

1 При ошибке Linker Error LME351 вычистить все *.tds и все *.obj из папок, куда они записываются, а также все *.#?? из папки Borland.

2 При ошибке компиляции проектов, использующих utilcls.h исправить ProgId на Progid.

3. WideString(w_char* t) - в конструкторе работает operator = w_char* t - не работает, т.е присвоение типа WideString ws = L"string" не работает (может вызвать появдение окна асм. кода при нормальном исполнении программы из-под отладчика) operator = char* t -работаетуспешно

Для тех, кто не в курсе, что зачем нужен тип строк WideString. строки бываеют однобайтные - тип string, AnsiString, cstring аналогично "string" (char*) строки бывают двухбайтовые - тип WideString, BSTR (define на w_char_t*) L"string" Таким образом, например, в COM всегда необходимо использовать либо L"", либо WideString.

Работа с COM в С++ Builder

TVariant производства Borland часто работает неверно в самых разных случаях, поэтому рекомендуется использовать CComVariant от Microsoft. CComPtr - в конструктор обязательно должен передаваться не 0 эл. CComQIPtr - в конструктор может передаваться 0 элемент, т.е он отличвается от CComPtr тем, что сам QuerryInterface'ит эл. таким образом, допустимо CComQIPtr name(object), где object имеет тот же тип, что и name или базовый для new_type Некоторые замечания по С++ Builder. Для запуска из командной строки использовать команду bcb

FAQ – собран из ответов на вопросы, которые долго я или мои друзья не могли найти: - Для получения скриншота раб. стола 1 GetDesktoWindow - получить Handle рабочего стола 2 GetDC - передать туда полученный Handle и получить DC Перед передачей создать контекст устройства 3 BitBlt function performs a bit-block transfer Bit-blockTransfer - в буфер положить картинку Все эти функции есть в WindowsSDK Builder

 

 
 
 
       
Hosted by uCoz