Поделиться через


LPTEXTOUTPROC

Когда пользователь выполняет операцию системы управления версиями из интегрированной среды разработки (ide), подключаемый модуль системы управления версиями, может потребоваться передать ошибку или сообщений о состоянии, относящиеся к операции. Подключаемый модуль может отображать собственные окна сообщения. Однако дополнительные бесшовной компоновки, подключаемый модуль может передать строки в интегрированной среде разработки, которая затем отображает их собственным методом сведений о состоянии отображения. Механизм для этогоLPTEXTOUTPROC указатель функции. Интегрированная среда разработки реализует эту функцию (более подробно, описанных ниже) для отображения ошибок и состояния.

Интегрированная среда разработки передает в подключаемому модулю системы управления версиями указатель функции к этой функции как lpTextOutProc параметр, вызывающий Функция SccOpenProject. Во время операции SCC, например, в процессе вызова Функция SccGet в том числе много файлов, подключаемый модуль может вызвать LPTEXTOUTPROC функция, периодически передаче строки для отображения. Интегрированная среда разработки может отображать эти строки в строке состояния в окне вывода или в отдельном окне сообщения. При необходимости интегрированная среда разработки может иметь возможность показать некоторые сообщения с a Отмена кнопка. Это позволяет пользователю отменить операцию, и он позволяет интегрированной среде разработки возможность передать эти данные обратно в подключаемому модулю.

Сигнатура

Функция выхода интегрированной среды разработки имеет следующую сигнатуру:

typedef LONG (*LPTEXTOUTPROC) (
   LPSTR display_string,
   LONG mesg_type
);

Параметры

  • display_string
    Текстовая строка, отображаемая. Эта строка должна быть завершена с возврата каретки или канала линии.

  • mesg_type
    Тип сообщения. В следующей таблице перечислены поддерживаемые значения этого параметра.

    Значение

    Описание

    SCC_MSG_INFO, SCC_MSG_WARNING, SCC_MSG_ERROR

    Сообщение считается сведения, предупреждением или ошибкой.

    SCC_MSG_STATUS

    Сообщение указывает состояние и может быть отображено в строке состояния.

    SCC_MSG_DOCANCEL

    Отправляются без строки сообщения.

    SCC_MSG_STARTCANCEL

    Инициирует отображение a Отмена кнопка.

    SCC_MSG_STOPCANCEL

    Останавливает отображения a Отмена кнопка.

    SCC_MSG_BACKGROUND_IS_CANCELLED

    Запрашивает интегрированную среду разработки, если фоновая операция будет отменен. интегрированная среда разработки возвращает SCC_MSG_RTN_CANCEL если операция отменена; в противном случае возвращает SCC_MSG_RTN_OK. display_string параметр приводится как SccMsgDataIsCancelled структура, которая предоставляется подключаемым модулем системы управления версиями.

    SCC_MSG_BACKGROUND_ON_BEFORE_GET_FILE

    Указывает интегрированной среды разработки о файле, прежде чем он извлекается из системы управления версиями. display_string параметр приводится как SccMsgDataOnBeforeGetFile структура, которая предоставляется подключаемым модулем системы управления версиями.

    SCC_MSG_BACKGROUND_ON_AFTER_GET_FILE

    Указывает интегрированной среды разработки о файле после того, как она была восстановлена из системы управления версиями. display_string параметр приводится как SccMsgDataOnAfterGetFile структура, которая предоставляется подключаемым модулем системы управления версиями.

    SCC_MSG_BACKGROUND_ON_MESSAGE

    Указывает интегрированной среды разработки текущего состояния фоновой операции. display_string параметр приводится как SccMsgDataOnMessage структура, которая предоставляется подключаемым модулем системы управления версиями.

Возвращаемое значение

Значение

Описание

SCC_MSG_RTN_OK

Строка отображается либо операция была завершена успешно.

SCC_MSG_RTN_CANCEL

Пользователь хочет, чтобы отменить операцию.

Пример

Предположим вызовы интегрированной среды разработки Функция SccGet имена файлов с 20. Подключаемый модуль системы управления версиями хочет запретить отменить операцию в середине файла. После получения каждого файла, он вызывает lpTextOutProc, передавая им сведения о состоянии в каждом файле и отправляет a SCC_MSG_DOCANCEL сообщение, если он не имеет состояние уведомления. Если в любой момент подключаемый модуль получает возвращаемое значение SCC_MSG_RTN_CANCEL в интегрированной среде разработки, он отменяет операцию Get немедленно, так что больше нет файлов не будут получены.

Структуры

SccMsgDataIsCancelled

typedef struct {
   DWORD dwBackgroundOperationID;
} SccMsgDataIsCancelled;

Эта структура отправляется с SCC_MSG_BACKGROUND_IS_CANCELLED сообщение. Он используется для передачи ИД фоновой операции, которая была отменена.

SccMsgDataOnBeforeGetFile

typedef struct {
   DWORD dwBackgroundOperationID;
   PCSTR szFile;
} SccMsgDataOnBeforeGetFile;

Эта структура отправляется с SCC_MSG_BACKGROUND_ON_BEFORE_GET_FILE сообщение. Он используется для взаимодействия имя файла, который требуется извлечь и идентификатор фоновой операции, которая выполняет восстановление.

SccMsgDataOnAfterGetFile

typedef struct {
   DWORD dwBackgroundOperationID;
   PCSTR szFile;
   SCCRTN sResult;
} SccMsgDataOnAfterGetFile;

Эта структура отправляется с SCC_MSG_BACKGROUND_ON_AFTER_GET_FILE сообщение. Он используется для взаимодействия результат извлечь указанный файл, а также идентификатор фоновой операции, которая сделала извлечь. См. раздел возвращаемые значения Функция SccGet для которого может быть присвоено в результате.

SccMsgDataOnMessage

[C++]

typedef struct {
   DWORD dwBackgroundOperationID;
   PCSTR szMessage;
   BOOL bIsError;
} SccMsgDataOnMessage;

Эта структура отправляется с SCC_MSG_BACKGROUND_ON_MESSAGE сообщение. Он используется, чтобы сообщить текущее состояние фоновой операции. Состояние выражается как строка, которая будет отображаться интегрированная среда разработки и bIsError указывает важность сообщенияTRUE сообщения об ошибках. FALSE для предупреждения или информационного сообщения). Идентификатор фоновой операции при отправке состояние также предоставляется.

Пример кода

Ниже кратко приведен пример вызова LPTEXTOUTPROC отправить SCC_MSG_BACKGROUND_ON_MESSAGE сообщение, указывающее, как создание макета для вызова.

LONG SendStatusMessage(
    LPTEXTOUTPROC pTextOutProc,
    DWORD         dwBackgroundID,
    LPCTSTR       pStatusMsg,
    BOOL          bIsError)
{
    SccMsgDataOnMessage msgData = { 0 };
    LONG                result  = 0;

    msgData.dwBackgroundOperationID = dwBackgroundID;
    msgData.szMessage               = pStatusMsg;
    msgData.bIsError                = bIsError;

    result = pTextOutProc(reinterpret_cast<LPCTSTR>(&msgData), SCC_MSG_BACKGROUND_ON_MESSAGE);
    return result;
}

См. также

Другие ресурсы

Обратный вызов функций, реализованных интегрированной средой разработки

Подключаемые модули системы управления версиями