Текущий архив: 2005.12.18;
Скачать: CL | DM;
Внизкак можно использовать наследование TService Найти похожие ветки
← →
msgipss (2005-12-02 13:18) [0]сорри за ламерский вопрос..
пишу класс наследую его от TService, добавил туда некоторую функциональность.
Теперь хочу создать службу, file - new - other - service application
появляется форма.
type
TService1 = class(TService)
и т.д.
изменяю TService на TMyService
определяю события onStop, onStart, onExecute с соответствующими inherited
все компилируется, все работает как надо.
Сохраняю проект, выхожу. Открываю заново, тут мне ide говорит, что методов, событий таких не существует и превращает в обычную форму от tform.
Подскажите пожалуйста, как решить мне данную задачу более правильно.
Заранее благодарен
← →
msgipss (2005-12-02 14:33) [1]или я не понятно / не корректно объяснил проблему ?
← →
Digitman © (2005-12-02 15:03) [2]что за проект ?
он основан на File -> New .. -> Service Application ?
← →
Набережных С. © (2005-12-02 16:56) [3]
> пишу класс наследую его от TService
Сначала добавь свой класс-наследник в репозитарий, и потом, в проекте сервиса, добавляй новый класс из репозитария.
PS Репозитарий - это который по File/New/Other. А то уже были преценденты:)
← →
msgipss (2005-12-05 06:47) [4]Digitman © (02.12.05 15:03) [2]
да
Набережных С. © (02.12.05 16:56) [3]
спасибо, все получилось
Можно еще один вопрос, хотя уже не в тему немного
Реализован класс1 от треда, и класс2 тоже от треда.
класс2 реализует инициирование события при времени изменении файлов, пути к которым были переданы классу2
класс1 создает экземпляр класса2 и обработывает его события, обработка заключается в вызове метода класса1 из процедуры обработки события.
Вопрос, в каком потоке будет выполняться процедура обработки события, и метод класса1, надо полагать что в потоке класса2?
Также, как и если из класса1 вызвать метод класса2, этот метод будет выполняться в потоке1, в смысле поток 1 не будет дальше выполнять свою работу пока не выполнится этот метод ?
← →
Набережных С. © (2005-12-05 07:28) [5]
> msgipss (05.12.05 06:47) [4]
> Вопрос, в каком потоке будет выполняться процедура обработки
> события, и метод класса1, надо полагать что в потоке класса2?
Да, конечно. Дельфийский класс - всего лишь надстройка над системным объектом. Поток, нить - просто последовательность команд, каждая со своим корнем, ничего более. В первом приближении это можно описать так:
Если два потока делят один процессор, то система периодически приостанавлевает выполнение одной последовательности ( простым захватом процессора, т.е. в этот момент процессор совершает принудительный переход не на следующую команду текущего потока, а на специальную служебную подпрограмму ), сохраняет состояние процессора, и, грубо говоря, выполняет GOTO на адрес команды из второго потока. Через некоторое время сис-ма прерывает выполнение второго потока, сохраняет его состояние, восстанавливает состояние первого и делает GOTO на ту команду из первой последовательности, перед выполнением которой этот поток был приостановлен.
Соответственно, все функции, вызываемые кодом потока, будут выполняться в то время, когда именно этот поток "имеет доступ к процессору", когда выполняется последовательность команд из этой нити, т.е., как принято говорить, в контексте вызывающего потока.
PS Лучше все-таки для отдельных вопросов заводить отдельный топик. Так будет удобнее для других участников форума.
← →
msgipss (2005-12-05 07:32) [6]хорошо большое спасибо за объяснение, тогда еще один вопрос, но в другом топике 8) ..
Страницы: 1 вся ветка
Текущий архив: 2005.12.18;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.012 c