Информационный сервер для программистов: Исходники со всего света. Паскальные исходники со всего света
  Powered by Поисковый сервер Яndex: Найдется ВСЁ!
На Главную Pascal Форум Информер Страны мира
   Приемы Вызова Программ    >>    exevstsr
   
 
 Exec против TSR   Лион Роканиди 06.03.1995

Метод замены резидентности на простой вызов внешних программ



2k 
 

Hello All ! Люди! По поводу резидентов на Паскале могу дать пару советов. 1. Писать их можно не хуже, чем на Си (хотя "настоящие профессионалы" предпочитают Ассемблер, но попробуйте сваять 100-200k монстра со свопингом в EMS/XMS/HDD), только надо точно знать, что при этом происходит как в системе, так и в Паскале, и не по-наслышке, а все на собственном опыте проверив. 2. Слушай других, и делай по-своему (глобальный принцип). В частности, зачем использовать Keep(ExitCode), наживая проблемы с выгрузкой резидента и его отладкой, когда есть Exec(Path,CmdLine). Попробуйте нижепришитый исходник - его же можно ОТЛАЖИВАТЬ ПРЯМО В СРЕДЕ ! Ремарк к исходнику: IntRegisters заимствовано из Turbo Professional 4.0; Pardon для поклонников Асма за оформление Proc CallInt - стиль у меня такой :); а вообще, прог этот для хохмы блокирует открытие сишных манускриптов. Такой вот скрытый намек... А велики ли системные издержки за удовольствие писать на Паскале ? Всего 7Kb в памяти вместе со стеком (2Kb) и клочком из DOS.TPU (и то, и другое можно хэкерскими приемами урезать) - ну, если и не драйвер клавиатуры/дисплея, конечно, но что посерьезнее можно на Asm даже и не переписывать (к тем, кто на ASMе пишет быстрее, чем PASСALе, это не относится - им PAS вовсе ненужен). Это, понятно, почти голая идея, так что до(пере)писывайте сами. Могу так же бесплатно поделиться организацией многозадачности внутри паскалевской программы с динамическим старт/стопом процессов (вроде Модулы), обработкой исключений (в смысле exeption, как в C++), системным драйвером (типа SYS, для Config) и много чем еще. Пишите письма, кому надо и не надо, и кто не верит, что на Пасе пишется все, что угодно, из того что может Си. Все это работает на BP 7.0 (наверное и на TP 4.0 ?). Cincerelly yours Lion. Good luck ! Lion. Data,Fax - 846-256-1948 - CM Voice - 846-256-1815 - 11-20 Msk --- GoldED 2.42.G1218+ * Origin: , Russia, SamaraMedNet (FidoNet 2:5057/4.10)