Repository обновлено
16.09.2008

В настоящее время данный проект включает в себя десять библиотек:

  • zlib — процедурная библиотека для работы с zip-архивами, написанная на ANSI С и не зависящая от каких-либо других библиотек (типа MFC или STL), кроме CRT. Определены четыре сборочные конфигурации: „MBCS Debug“, „MBCS Release“, „Unicode Debug“ и „Unicode Release“, созданные на основе „Win32 (x86) Static Library“ и использующие динамическую версию CRT. Последнюю версию библиотеки zlib и документацию к ней можно найти на ее „домашнем“ сайте; в проекте используется версия 1.2.3 от 18 июля 2005 года.
  • ZipArchive — объектно-ориентированная надстройка над библиотекой zlib. Проект содержит ее „подмножество“, предназначенное для использования в Windows-приложениях, создаваемых с использованием библиотеки MFC. Определены четыре сборочные конфигурации: „MBCS Debug“, „MBCS Release“, „Unicode Debug“ и „Unicode Release“, созданные на основе „Win32 (x86) Static Library“ и использующие динамические версии CRT и MFC. В проект также включена авторская документация в формате .chm (HTML Help 1.x). Полная версия библиотеки ZipArchive, которую можно найти на сайте автора, позволяет вместо MFC использовать STL и поддерживает разработку приложений для Linux. При создании проекта использовалась версия 3.2.0 от 15 декабря 2007 года.
  • Naughter — библиотека, состоящая из дополняющих MFC классов, автором которых является PJ Naughter. В настоящее время в нее входят:
    • CPJNSMTPConnection, коллекция MFC-классов для поддержки протокола SMTP (версия 2.67 от 1 августа 2007 года);
    • CPJNPOP3Connection, MFC-класс для поддержки протокола POP3 (версия 1.40 от 21 июля 2007 года);
    • CTreeFileCtrl, MFC-класс, реализующий элемент управления, аналогичный дереву файловой системы Windows Explorer (версия 1.49 от 13 июня 2007 года).
    Определены четыре сборочные конфигурации: „MBCS Debug“, „MBCS Release“, „Unicode Debug“ и „Unicode Release“, созданные на основе „Win32 (x86) Static Library“ и использующие динамические версии CRT и MFC. В проект также включена авторская документация в формате HTML.
  • CodeProject — библиотека, состоящая из дополняющих MFC классов, исходный код которых (был) опубликован на The Code Project. На данный момент в нее включены: Определены четыре сборочные конфигурации: „MBCS Debug“, „MBCS Release“, „Unicode Debug“ и „Unicode Release“, созданные на основе „Win32 (x86) Static Library“ и использующие динамические версии CRT и MFC. В проект также включена авторская документация в формате CHM.
  • AfxGadgets — библиотека, состоящая из классов моего собственного сочинения, часть из которых написана „по мотивам“ исходного кода, опубликованного на The Code Project и CodeGuru. На данный момент в ее состав входят классы CArgsParser, CWin32Error, CSeException, CWinCrypto, CMemMapFile, CSortingListCtrl, CMemoryDC, CProcessPrivileges, CRemoteInvoke, CRemoteProc и CRemoteParam, классы-обертки парсера MSXML, а также несколько классов и функций, упрощающих преобразование строк между кодировками ANSI и Unicode и предназначенных для замены макросов из <afxconv.h>. Определены четыре сборочные конфигурации: „MBCS Debug“, „MBCS Release“, „Unicode Debug“ и „Unicode Release“, созданные на основе „Win32 (x86) Static Library“ и использующие динамические версии CRT и MFC.
  • atlmfc71 — библиотека, содержащая несколько классов из ATL/MFC версии 7.1 (.NET 2003), „портированных“ для использования в MS Visual C++ 6.0. В настоящее время она включает в себя классы CRegKey и CFileDialogEx. Определены четыре сборочные конфигурации: „Win32 – Debug“, „Win32 – Release“, „Win32 – Unicode Debug“ и „Win32 – Unicode Release“, созданные на основе „Win32 (x86) Static Library“ и использующие динамические версии CRT и MFC. Начиная с ревизии 55, развитие этой библиотеки прекращено за отсутствием необходимости.
  • Brainchild — библиотека от Jan van den Baard, реализующая текстовый редактор с поддержкой выделения синтаксиса исходных текстов и многоуровневыми undo/redo. Распознаются C/C++, module-definition files (.def), HTML, ini-файлы Windows, скрипты Inno Setup, Java и Java Script, файлы описания ресурсов (.rc), а также VBScript. Написана на „чистом“ C использованием функций CRT и Win32 API и не завист от ATL/WTL, MFC, Qt, etc. Определены четыре сборочные конфигурации: „MBCS Debug“, „MBCS Release“, „Unicode Debug“ и „Unicode Release“, созданные на основе „Win32 (x86) Static Library“ и использующие динамическую версию CRT. Оригинальную авторскую версию 2.4 можно найти по адресу Brainchild, A syntax coloring edit control.
  • ClassLib — библиотека классов от Jan van den Baard, предназначенная для разработки Windows-приложений. Определены четыре сборочные конфигурации: „MBCS Debug“, „MBCS Release“, „Unicode Debug“ и „Unicode Release“, созданные на основе „Win32 (x86) Static Library“ и использующие динамическую версию CRT. Оригинальную авторскую версию 3.0 можно найти по адресу ClassLib, A C++ class library.
  • BCApplet — апплет „Панели управления“ Windows, предназначенный для конфигурирования текстового редактора Brainchild. Реализован с использованием библиотеки ClassLib. Определены четыре сборочные конфигурации: „MBCS Debug“, „MBCS Release“, „Unicode Debug“ и „Unicode Release“, созданные на основе „Win32 (x86) Static Library“ и использующие динамическую версию CRT. Оригинальную авторскую версию 2.4 можно найти по адресу Brainchild, A syntax coloring edit control.
  • CJLibrary — Библиотека классов от CodeJock.com, расширяющая возможности MFC. Определены четыре сборочные конфигурации: „MBCS Debug“, „MBCS Release“, „Unicode Debug“ и „Unicode Release“, созданные на основе „Win32 (x86) Static Library“ и использующие динамические версии CRT и MFC.

История ревизий

  • r154 (16.09.2008)
    В проект добавлена библиотека CJLibrary версии 6.10 © 1998-1999 CodeJock.com. В библиотеку CodeProject добавлен компонент XMLProfile от Hans Dietrich, предназначенный для чтения и записи конфигурационной информации в формате XML. Классы для работы с протоколом SMTP в библиотеке Naughter обновлены до версии 2.80 от 16 августа 2008 года, а классы для работы с протоколом POP3 в этой же библиотеке — до версии 1.45 от 14 июня 2008 года. Разработка проекта „переведена“ под MS Visual C++ версии 9.0 (2008); поддержка версии 7.1 (2003) прекращена; начиная с этой ревизии, совместимость исходного кода с предыдущими версиями компилятора Visual C++ не гарантируется.
  • r138 (28.04.2008)
    В библиотеку CodeProject добавлен High-speed Charting Control от Cedric Moonen. В оригинальный авторский код внесены изменения, позволяющие использовать его в Unicode-совместимых сборочных конфигурациях.
  • r137 (21.04.2008)
    В библиотеку Brainchild добавлена поддержка "нестандартных" (создаваемых приложением-клиентом) дилоговоых окон "Goto", "Find", "Replace" и "Properties"; также добавлен класс-обертка для использования в MFC-приложениях. К библиотеке ClassLib добавлены авторские примеры "ADO", "Browser", "ColorPicker", "CRC", "DynamicDialog", "FastFind", "FileDirTree","InfoBar", "LayoutEngine", "MDI", "MRU", "MultiMon", "PanelBar", "XPControls" и "XPMenu".
  • r115 (06.04.2008)
    В проект добавлены библиотеки Brainchild и ClassLib, а также апплет „Панели управления“ Windows BCApplet от Jan van den Baard.
  • r110 (12.01.2008)
    В класс CArgsParser библиотеки AfxGadets добавлены методы для работы с коротким целыми и вещественными числами. Классы CPPToolTip в библиотеке CodeProject обновлены до версии 2.2 beta; в эту же библиотеку добавлены классы XHtmlTree версии 1.5, XColorStatic версии 1.0, XEmphasisButton версии 1.0 и XListCtrl версии 1.4 от Hans Dietrich. Библиотека OpenSSL обновлена до версии 0.9.8g от 19 октября 2007 года. Классы для работы с протоколом SMTP в библиотеке Naughter обновлены до версии 2.67 от 1 августа 2007 года. Библиотека ZipArchive обновлена до версии 3.2.0 от 15 декабря 2007 года. В библиотеку AfxGadgets добавлены функции, расширяющие и улучшающие механизмы Dialog Data Exchange и Dialog Data Validation.
  • r97 (16.10.2007)
    Библиотека ZipArchive обновлена до версии 3.1.1 от 1 сентября 2007 года.
  • r95 (30.08.2007)
    Удалена поддержка компилятора Visual C++ версий 6.0 и 7.0 (.NET 2002). Библиотека ZipArchive обновлена до версии 3.1.0 от 10 августа 2007 года.
  • r93 (01.08.2007)
    Библиотека ZipArchive обновлена до версии 3.0.2 от 14 мая 2007 года.
  • r91 (31.07.2007)
    В библиотеку AfxGadets добавлен класс CArgsParser, предназначенный для разбора командной строки; классы-обертки парсера MSXML; заголовочные и библиотечные файлы библиотеки OpenSSL (версия 0.9.8d). В библиотеку CodeProject добавлен класс CStdString. В библиотеке Naughter обновленны классы CPJNPOP3Connection и CTreeFileCtrl до версий 1.40 и 1.49 соответственно. Разработка проекта „переведена“ под MS Visual C++ 7.1 SP1; начиная с этой ревизии, совместимость исходного кода с компилятором Visual C++ 7.0 SP1 не гарантируется.
  • r71 (18.08.2006)
    В библиотеке Naughter исправлены конфликтующие между собой идентификаторов ресурсов, используемых классами для работы с протоколами SMTP и POP3.
  • r69 (17.08.2006)
    Библиотека zlib обновлена до версии 1.2.3 от 18 июля 2005 года. Библиотека ZipArchive обновлена до версии 2.4.11 от 31 июля 2006 года. Классы для работы с протоколом SMTP в библиотеке Naughter обновлены до версии 2.63 от 17 июля 2006 года; классы для работы с протоколом POP3 в этой же библиотеке обновлены до версии 1.38 от 9 июля 2006 года. В библиотеку Nughter также добавлен класс CTreeFileCtrl (версия 1.42 от 1 июля 2006 года) и авторская документация к нему.
  • r55 (23.07.2005)
    Разработка проекта „переведена“ под MS Visual C++ 7.0 SP1; начиная с этой ревизии, совместимость исходного кода с компилятором Visual C++ 6.0 SP6 не гарантируется.
  • r50 (16.07.2005)
    Класс CWSocket в библиотеке Naughter обновлен до версии 1.14; классы для работы с протоколом SMTP в этой же библиотеке обновлены до версии 2.53 от 3 мая 2005 года. Библиотека ZipArchive обновлена до версии 2.4.5 от 21 июня 2005 года. В библиотеку AfxGadgets добавлены шаблонные классы CRemoteInvoke, CRemoteProc и CRemoteParam, инкапсулирующие вызов функции Win32 API CreateRemoteThread.
  • r45 (23.04.2005)
    Библиотека ZipArchive обновлена до версии 2.4.4 от 1 апреля 2005 года.
  • r44 (23.04.2005)
    Библиотека zlib обновлена до версии 1.2.2 от 3 октября 2004 года.
  • r42 (23.04.2005)
    Классы для работы с протоколом SMTP в библиотеке Naughter обновлены до версии 2.50 от 18 апреля 2005 года.
  • r41 (22.04.2005)
    Классы для работы с протоколом POP3 в библиотеке Naughter обновлены до версии 1.35 от 9 апреля 2005 года.
  • r40 (12.02.2005)
    Реорганизовано project workspace — исходные файлы сгруппированы по реализуемой ими функциональности.
  • r36 (26.01.2005)
    В библиотеку AfxGadgets добавлен класс CStringsXML, реализующий аналог „таблицы строк“ (STRINGTABLE) на основе файла в формате XML.
  • r33 (22.01.2005)
    Для всех библиотек добавлены сборочные конфигурации, предназначенные для использования компилятора C++ от Intel; тестирование выполнялось с версией 7.0 20021018Z.
  • r27 (21.01.2005)
    Добавлены командные скрипты, предназначенные для выполнения „пакетной“ сборки библиотек.
  • r26 (21.01.2005)
    В проект добавлена библиотека atlmfc71, содержащая несколько классов из ATL/MFC версии 7.1 (.NET 2003), „портированных“ для использования в MS Visual C++ 6.0.
  • r24 (18.01.2005)
    В библиотеку AfxGadgets добавлен класс CMenuXML, реализующий построение меню на основе „шаблона“, хранящегося в XML-файле; в эту же библиотеку добавлен класс CHotKeysXML, реализующий построение набора „горячих клавиш“ (accelerator table) по XML-файлу соответствующей структуры.
  • r22 (16.01.2005)
    В библиотеку AfxGadgets добавлено несколько функций, упрощающих использование „Pugnacious XML Parser“ из библиотеки CodeProject. В библиотеку AfxGadgets добавлен класс CDialogXML, реализующий построение диалогового окна на основе „шаблона“, хранящегося в XML-файле.
  • r20 (15.01.2005)
    Формат документации к библиотеке CodeProject изменен с PDF на HTML Help 1.x.
  • r19 (15.01.2005)
    Класс CPPTooltip в библиотеке CodeProject обновлен до версии 2.0 от 29 марта 2004 года.
  • r18 (15.01.2005)
    Класс CIconDialog в библиотеке CodeProject обновлен до версии от 29 марта 2004 года.
  • r17 (15.01.2005)
    Класс CFolderDialog в библиотеке CodeProject обновлен до версии от 7 января 2004 года.
  • r16 (15.01.2005)
    Класс CHistoryCombo в библиотеке CodeProject обновлен до версии 3.0 от 22 июня 2004 года.
  • r15 (15.01.2005)
    В библиотеку CodeProject добавлен „Pugnacious XML Parser“ от Kristen Wegner.
  • r14 (03.01.2005)
    В библиотеку AfxGadgets добавлен класс CProcessPrivileges, предназначенный для получения/назначения привилегий текущего процесса.
  • r13 (03.01.2005)
    Обновлены комментарии в исходном коде библиотеки AfxGadgets.
  • r12 (03.01.2005)
    Классы для работы с протоколом SMTP в библиотеке Naughter обновлены до версии 2.46 от 23 декабря 2004 года.
  • r11 (06.11.2004)
    В библиотеку AfxGadgets добавлен класс CMemoryDC, реализующий двойную буферизацию, предназначенную для подавления мерцания при отрисовке.
  • r10 (24.07.2004)
    Для всех библиотек добавлены сборочные конфигурации, которые могут использоваться при создании исполняемых модулей, оперирующих текстом в кодировке Unicode.
  • r9 (17.07.2004)
    Настройки „релизных“ сборочных конфигураций всех библиотек изменены для выполнения компиляции с оптимизацией по размеру исполняемого кода.
  • r8 (17.07.2004)
    В библиотеке AfxGadgets откомментированы стандартные заголовочные файлы MFC.
  • r7 (11.07.2004)
    Усовершенствован класс CMemMapFile из библиотеки AfxGadgets. Классы для работы с протоколом POP3 в библиотеке Naughter обновлены до версии 1.32 от 4 июля 2004 года.
  • r6 (04.07.2004)
    В библиотеку AfxGadgets добавлен класс CMemMapFile, инкапсулирующий файлы, отображаемые на память (memory-mapped files, MMF).
  • r5 (02.07.2004)
    Библиотека ZipArchive обновлена до версии 2.4.1 от 19 июня 2004 года.
  • r4 (19.06.2004)
    Классы для работы с протоколом POP3 в библиотеке Naughter обновлены до версии 1.31 от 5 июня 2004 года.
  • r3 (19.06.2004)
    Классы для работы с протоколом SMTP в библиотеке Naughter обновлены до версии 2.44 от 7 июня 2004 года.
  • r2 (27.03.2004)
    В библиотеку AfxGadgets добавлен класс CSortingListCtrl, содержащий поддержку сортировки элементов списка по колонкам.
  • r1 (24.03.2004)
    Первая „публичная“ ревизия.

Сборка библиотек

Для сборки библиотек в настоящее время используется MS Visual C++ 9.0 (2008) и Microsoft Platform SDK версии 6.0A; начиная с ревизии 154, совместимость исходного кода с предыдущими версиями компилятора Visual C++ не гарантируется.

 Исходные тексты: repository-r154.zip (12 369 435 байт)

Repository на Google Code

Начиная с декабря 2007 года, проект Repository, помимо этого сайта, размещен также и на Google Code; его главная страница доступна по адресу http://repositorium.googlecode.com. Там можно зеркало репозитория Subversion с последними ревизиями исходных текстов проекта. Для анонимного доступа на чтение к этому зеркалу и получения локальных копий всех файлов, необходимых для самостоятельной сборки, необходимо выполнить следующие действия:

  1. Создать где-либо в файловой системе новую папку, назвав ее, например, GoogleCode.
  2. Перейти в эту папку в командной строке и выполнить команду
    svn checkout http://repositorium.googlecode.com/svn/trunk/ Repository