Конференция "FreePascal" » Прерывание по Ctrl-C [linux, Dos, FreeBSD]
 
  • khlys (03.08.04 12:08) [0]
    Всем привет!

    Есть у меня самодельный подДОСовский текстовый редактор, замечательный во многих отношениях: например, использование цвета в обычных текстах и 4 или 5 видов макросов (смотря как считать). В общем, для себя делал. Изваян в Паскале. Хочу переложить на FreePascal, чтобы пользоваться им в *никсах. Ну и
    сейчас, как и в начале эволюции редактора в Паскале, при нажатии Ctrl-C всё вываливается с катастрофическими последствиями, что не только досадно и опасно, но и не позволяет использовать это сочетание клавиш по более привычному назначению - копировать помеченный блок в буфер обмена. В Паскале я при загрузке редактора подменяю прерывание $23 на IRET, при выгрузке его восстанавливаю. А как это реализовать в FreePascal'е?

    Заранее признателен - Сергей.
  • Oleh (15.08.04 07:14) [1]
    Такая проблема и у меня была.
    Я сейчас не помню, где именно, но ответ где-то в DPMI-шном родном модуле.
  • Ketmar (17.10.04 07:22) [2]
    угу. дпми под *nix. не смешно? насколько я помню, ioctl надо пинать...
  • Paul Lee (20.11.04 17:33) [3]
    У меня аналогичная ситуация, только с kbCtrlBackSlash - вызывает тот же самый unhandled exeption что и kbCtrlC.

    Может кто знает как хотя бы от этого избавиться?

    ПС: это только в досовой версии, в виндовой такого нет.
    в *ниховой не проверял.
  • Paul Lee (20.11.04 19:01) [4]

    > У меня аналогичная ситуация, только с kbCtrlBackSlash


    Стоило только озаботиться - свою проблему я решил следующим образом:

    Uses DpmiExcp;

    {skip}

    begin
    djgpp_set_ctrl_c(false);

    {skip}

    end.



    Еще раз повторю - это для Go32v2
  • имя (10.09.07 21:44) [5]
    Удалено модератором
  • имя (17.09.07 22:47) [6]
    Удалено модератором
  • имя (20.11.07 14:02) [7]
    Удалено модератором
 
Конференция "FreePascal" » Прерывание по Ctrl-C [linux, Dos, FreeBSD]
Есть новые Нет новых   [118241   +25][b:0][p:0.001]