Доброе время суток!! Пожалуйста приведите пример динамически подгружаемого модуля,как обЪявить его в основной проге и может ли он находится в тексте основной программы.Заранее спасибо!
Добрый день, антон! Что в вашем понимании "Динамически Подгружаемый Модуль"?????
Ответ отправлен: 02.06.2003, 21:27 Отправитель: _vt Отвечает Tancho
Добрый день, антон! Что ты понимаешь под "динамически подгружаемого модуля"? Я не знаю токого ни у стандартном Pascal'е, ни у Turbo Pascal'е! Об других модефикации как Free Pascal, TMT Pascal'е я не сигурен, но сомнеюс что и здесь есть такого. А если реч идеть о обычных модульях то смотри архив рассылку скоро здесь был вопрос о стукторе и пользования модулей. Ответ отправлен: 04.06.2003, 18:16 Отправитель: Tancho Отвечает Bill
Доброе время суток, антон! А где о таких услышал? Модуль или подключается или нет. Все, что описано в разделе между INTERFACE и IMPLEMENTATION - все равно описано в "тексте основной программы". Из модуля в .EXE файл включается только такие подпрограммы, что вызываются. Т.е. можно писать подпрограммы "про запас", на размере .EXE файла это не сказывается. Если в модуле описать объекты, указатели на какие-то структуры, то их можно "динамически подгрузить" с помощью процедуры NEW. Возможно, Вас интересую БИБЛИОТЕКИ? Так често об этом напишите
Ответ отправлен: 02.06.2003, 09:54 Отправитель: Bill Отвечает Tibor
Здравствуйте, антон! Не совсем понятен твой вопрос. Функции импортируються из библиотек следующим образом: function GetUserName(var lpBuf:string; nSize:LongInt):LongInt;far;external 'advapi32' name 'GetUsernameA'; Можно создавать obj файлы и использовать их как библиотеки они будут скомпилены с твоей прогой и будут её частью.
Ответ отправлен: 02.06.2003, 11:09 Отправитель: Tibor
Вопрос № 266
Народ!! Есть ПРОЛОГ-программа.. только до меня не доходит, как ее мне надо доработать, чтобы она делала следующее есть три списка - если в первом есть элементы второго, то она заменяет ее элементами списка с тем же номером. и получаем новый список я пока могу только обнаружить есть ли элемент или нет и если есть то его номер как правильно организовать замену??
Доброе время суток, Эланор! ЕТО РАССыЛКА PASCAL'Я, А НЕ PROLOG'А! Ты явно запуталась! Ответ отправлен: 02.06.2003, 12:03 Отправитель: Tancho Отвечает Bill
Приветствую Вас, Эланор! Явно, офтопик, но посмотрел я: RusFAQ для ПРОЛОГа и нет... . Может знают на ASM? Ответ отправлен: 02.06.2003, 20:32 Отправитель: Bill Отвечает Дмитрий
Добрый день, Эланор! Потрясающе! Девушка кодит на прологе! Моя подружка иногда тостер от кофеварки отличить не может. А тут - ПРОЛОГ!
Ответ отправлен: 04.06.2003, 06:53 Отправитель: Дмитрий Отвечает Tibor
Добрый день, Эланор! Что-то совсем не понятно чего ты хочешь. А может я пьяный просто :) И вообще причём тут пролог???
Ответ отправлен: 02.06.2003, 11:10 Отправитель: Tibor
Вопрос № 267
приложение к 266 вопросу предикат замены есть.. но я ее все-такие как-то не так видно описала
Добрый день, Эланор! Если надо, могу выслать доки по прологу. Не знаю, каким инструментарием пользуешься ты, но надеюсь пригодится! Пиши demetrius2003@mail.ru
Ответ отправлен: 04.06.2003, 06:59 Отправитель: Дмитрий Отвечает Tibor
Здравствуйте, Эланор! Это рассылка по паскалю или я что-то упустил?
Ответ отправлен: 02.06.2003, 11:10 Отправитель: Tibor Отвечает Tancho
Добрый день, Эланор! Милая вероятность кто то здесь помочь очень, очень,... малая! Здесь среда експертов Pascal'я и я сомняюсь что среди них есть такиу универсалов, ну что же ... попробовать всегда можно!Дерзай! К сожелению я не могу помочь! Ответ отправлен: 02.06.2003, 12:08 Отправитель: Tancho Отвечает baldr
Доброе время суток, Эланор! А через Assert/retract? Ответ отправлен: 05.06.2003, 16:04 Отправитель: baldr
Ответ отправлен: 02.06.2003, 21:27 Отправитель: _vt Отвечает [MozgC]
А в чем вопрос то ? Ответ отправлен: 02.06.2003, 16:20 Отправитель: [MozgC] Отвечает Tancho
Добрый день, IO! Ну, Здрасвуйте!И что ... это твой вопрос? Ответ отправлен: 02.06.2003, 09:35 Отправитель: Tancho Отвечает Bill
Доброе время суток, IO! Здравствуйте и Вы, однако Ответ отправлен: 02.06.2003, 09:41 Отправитель: Bill Отвечает Tibor
Приветствую Вас, IO! hi Ответ отправлен: 02.06.2003, 11:10 Отправитель: Tibor Отвечает DoS@
Ну дык и тебе здравствуйте!
Приложение: Ответ отправлен: 02.06.2003, 14:31 Отправитель: DoS@ Отвечает Byter
Приветствую Вас, IO! Здрасте!!! Примного благодарен за ваш вопрос!
Ответ отправлен: 03.06.2003, 17:18 Отправитель: Byter
Вопрос № 269
Здравствуйте Эксперты! Я все про передачу параметра в win2k груба говоря Dos-у(cmd.exe). В ответах вопроса 262 вы просили исходник моей проги ну так вот он в приложении. Надеюсь вы мне разъясните в чем дело.
Повтори вопрос, а то я Виндовс переустановил и не осталось твоего вопроса, да и многие письма удаляют, так что на будущее постарайся вкратце напоснить о чем шла речь Ответ отправлен: 02.06.2003, 22:59 Отправитель: [MozgC] Отвечает Tibor
Добрый день, Ilu! На сколько я понял тебе всего навсего надо передавать командной строке доса какие-то параметры Вот тебе прога которая типо эмулирует командную строку эта прога поставляеться как стандартный сэмпл с дистрибутивом BP.
Приложение: Ответ отправлен: 03.06.2003, 08:46 Отправитель: Tibor Отвечает Bill
Добрый день, Ilu! У меня сейчас 98-ой, завтра 2k посмотрю (что там иного, кроме CMD), но вот на что обращу внимание сейчас: 1) не 'c:winntsystem32cmd.exe', 'c:/winnt/system32/cmd.exe', наверно 2) если системная команда, то нужно ключ " /c" -> 'c:/winnt/system32/cmd.exe /c' 3) РАСШИРЕНИЕ time УКАЗЫВАТЬ НУЖНО! Да и что такое time? 4) а что, не проходит разве: CONST name = 'time.exe'; proc = ''; ... а далее по тексту?
Ответ отправлен: 02.06.2003, 20:21 Отправитель: Bill Отвечает _vt
Доброе время суток, Ilu! Обычно имя командного процессора берется из окружения, т.е. name = getenv('COMSPEC'); Для того, чтобы командный процессор выполнил команду и управление вернулось вызываемой программе, надо добавить параметр /С proc = '/C time'
Ответ отправлен: 02.06.2003, 21:27 Отправитель: _vt Отвечает Sensey
Доброе время суток, Ilu! После вызова Надо анализировать переменную DosError Если бы ты ее посмотрел, то увидел бы, что она равна 8==Нет памяти (в справке описаны возвр значения) Я уменьшил размер кучи - все работает...
Ответ отправлен: 03.06.2003, 09:24 Отправитель: Sensey Отвечает Byter
Доброе время суток, Ilu! У меня XP!Параметры передает!Только я испульзую другие параметры! Просмотрев список параметров cmd, я не нашел time.Хотя, кКогда писал с time, он не ругался. Посмотри мой исходник.
Приложение: Ответ отправлен: 03.06.2003, 17:18 Отправитель: Byter
Вопрос № 270
Здравствуйте уважаемые эксперты ! Помогите разобраться с LPT портом. У меня дипломный управление от LPT любым устройством. Нужно послать сигнал в компьютер. Я опрашиваю порт следующим образом: uses crt ; var a : byte ; Begin ClrScr ; repeat a := port[$37F] ; {Опрос порта} GoToXY (1, 1) ; {Обновление данных} WriteLn (a) ; {Вывод на экран состояние порта} until KeyPressed ; End. На моем компе (CPU: Celeron 1.7 Ghz, материнка: GigaByte IR533 Socket 478 ) всё работает, в техникуме (CPU: Pentium 3 1.2 Ghz, материнка: Asus TUSL2-C Socket 370 ) не работает. В обоих случаях ставил режим порта EPP. При этом на моем компе выводит на экран число 255 и при подачи сигнала в порт (замыкании управляющей «ноги» с общим) число изменяется на соответствующее, а на компе в техникуме
выводит на экран число 0 и при подаче сигнала ничего не изменяется.
Добрый день, Константин! 037Fh? Странно. И проверь операционки. У ОС NT линейки бывают глюки при работе с железом напрямую из ДОС программ. И еще, ты уверен, что порт на общественном компе фунциклирует? Тут где-то месяц назад на работе мы пытались подключить к старому компу принтер. Полдня протрахались, а потом выяснилось, что порты на этом компе мертвые! Попробуй повыводи чего-нибудь в порты. И цешкой потыкайся в разъем.
Ответ отправлен: 04.06.2003, 10:41 Отправитель: Дмитрий Отвечает Tigran K. Kalaidjian
Доброе время суток, Константин! Скорее всего есть различие в адресах портов дома и в техникуме (у меня этот адрес - 379H) Для того, чтобы решить проблему советую заменить строчки a := port[$37F] ; {Опрос порта} WriteLn (a) ; {Вывод на экран состояние порта} на Writeln(Port[MemW[$0040:$0008]+1]); Здесь мы получаем базовый адрес LPT1-порта и прибавляем к нему 1 (т.е. адрес ввода). Если будут вопросы - пишите. Ответ отправлен: 03.06.2003, 18:31 Отправитель: Tigran K. Kalaidjian Отвечает Bill
Добрый день, Константин! На моем тоже 255. Да и на всех, что рядом тоже. Может посмотреть адрес порта в ROM-BIOS. По адресу 0:$0408 хранится слово - адрес порта LPT1, 0:$040A - LPT2. Удобно: var lpt1Addr: word absolute 0:$0408; Ответ отправлен: 03.06.2003, 20:37 Отправитель: Bill Отвечает joe
Приветствую Вас, Константин! Прости за глупое предположение, а базовый адрес порта у тебя и там и там одинаковый? Ответ отправлен: 04.06.2003, 13:35 Отправитель: joe
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.