AddEnum; AddEnumSet

отредактировано 01:32 Раздел: FastScript
Решил зарегистрировать такую функцию:

function MessageDlgEx(const Msg: string; DlgType: TMsgDlgType;
Buttons: TMsgDlgButtons; HelpCtx: Longint;
DefaultButton: TMsgDlgBtn = mbOK): Integer;

Отличается она от MessageDlg тем, что введен параметр DefaultButton (активная кнопка в диалоге).

Для этого додаю тип:

AddEnumSet('TMsgDlgBtn', 'mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp');

и, собственно, функцию:

AddMethod('function MessageDlgEx(const Msg: String; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint; DefaultButton: TMsgDlgBtn = mbOK): Integer', CallMethod, 'DialogsExt');

При компиляции скрипта с этой функцией выдет ошибку о несовместимости типов TMsgDlgBtn и TMsgDlgButtons.

Вопросы:
Как правильно зарегистрировать такие типы?
Что посоветуете, если всё же нельзя зарегистрировать такие типы?

И таких случаев, когда необходимо как определенный тип так и множество этих типов может быть много.

Комментарии

  • отредактировано 01:32
    Опечатка, вместо

    AddEnumSet('TMsgDlgBtn', 'mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp');

    должно быть

    AddEnum('TMsgDlgBtn', 'mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp');

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.