Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизПосоветуйте что-нибудь, компонент не хочет работать в службе.. Найти похожие ветки
← →
AV © (2012-02-19 13:25) [0]Есть компонент. dcu + демка.
Накидал программку свою, работает нормально. Нажимаю кнопки, нужные поля компонента принимают нужные мне значения.
Попытался сделать ее многопоточной - компонент неожиданно выдал ShowMessage"Допустим только один экземпляр меня"
Ладно, не беда. Сделал многопроцессной. Работает.
Теперь попытался в сервис переделать
доходит до определенной строки, и ничего далее не происходит. Служба не запускается, если верить оснастке ос.procedure TTest_Elcom.ServiceStart(Sender: TService; var Started: Boolean);
begin
try
FElcom := TElcomCom.Create(nil);
FElcom.Init("192.168.101.113", 5005, 5000, ExtractFilePath(ParamStr(0)));
LogMessage(" 5555555555555 " , EVENTLOG_INFORMATION_TYPE, 0, 1);
FElcom.Open; //- доходит до определенной строки
LogMessage(" 6666666666666 " , EVENTLOG_INFORMATION_TYPE, 0, 1);
except
on E:Exception do
LogMessage(" TTest_Elcom ERROR " + E.Message, EVENTLOG_INFORMATION_TYPE, 0, 1)
end;
Started := True;
end;
в логе последнее что написано - "5555555555555 ". "TTest_Elcom ERROR" - нет нигде.
Есть подозрение, что он опять какой то ShowMessage выводит..
Но как это узнать? Как узнать, почему из приложения метод open работает, а из сервиса не хочет.
Смысл компанента - по определенному ip-port послать данные, получить ответ, проанализировать, выставить логическое свойство.
← →
AV © (2012-02-19 13:27) [1]
> Сделал многопроцессной
что б не возникало подозрений - тупо запускается несколько раз, используя разные ini файлы
← →
Игорь Шевченко © (2012-02-19 13:30) [2]Компонент, который выдает ShowMessage недопустимо использовать в сервисе. Точнее, допустимо, но задавать по этому поводу вопросы - уже не допустимо.
В качестве отладки разреши сервису взаимодействовать с рабочим столом
← →
AV © (2012-02-19 13:38) [3]
> Компонент, который выдает ShowMessage недопустимо использовать
> в сервисе.
да..читал..
но если не пойдет по той ветке, которая SM выдаёт?
Все равно нельзя? (Какой-нибудь код инициализации соотв.модуля "испортит"?)
← →
AV © (2012-02-19 13:42) [4]
> Игорь Шевченко © (19.02.12 13:30) [2]
спасибо!
> В качестве отладки разреши сервису взаимодействовать с рабочим
> столом
точно! Он еще одну dll не видел из комплекта поставки, о чем и сообщал ShowMessage..
Работает! :) Спасибо!
← →
AV © (2012-02-19 15:14) [5]Хотел было обмануть - завести в одном exe второй сервис..
точно такой же.
нет, опять ругается ShowMessage"Допустим только один экземпляр меня"
Как же некрасиво иметь по одному сервису, в своем собственном exe
для, в общем-то, однотипной операции..
ElcTcpClient.dcu - вот его фамилиЁ.
Если кто-то в курсе о чем, бодался с ним и заборол - черкните, плз..
← →
Игорь Шевченко © (2012-02-19 15:30) [6]Связаться с автором компонента не помогает ?
← →
DVM © (2012-02-19 15:45) [7]
> нет, опять ругается ShowMessage"Допустим только один экземпляр
> меня"
>
выкинуть такой компонент, который вместо того чтобы генерировать по нормальному исключения выкидыват ShowMessage. С таким подходом к обработке ошибок ему в сервисе не место.
← →
Anatoly Podgoretsky © (2012-02-19 16:02) [8]> DVM (19.02.2012 15:45:07) [7]
Надо еще кричалку добавить, подойди, я тебе такое покажу
← →
Slym © (2012-02-20 07:21) [9]если лень ломать компонент,
то протокол ModBus легко повторить
TCP ModBus тоже не проблема
если лень разбираться с модбасом то тупо снифить и повторить
← →
AV © (2012-02-20 09:17) [10]
> Игорь Шевченко © (19.02.12 13:30) [2]
не знаю с кем..
Думал, что автор - производитель оборудования. Позвонил/написал - ответили, что ответят позже. До сих пор отвечают.. Похоже, сами не знают.
> Slym © (20.02.12 07:21) [9]
да, можно.
Потом.. :) 25го надо уже что бы все работало в промышленном варианте
>> DVM © (19.02.12 15:45) [7]
Ну да, придется оставить как программу пока.
← →
Slym © (2012-02-20 12:18) [11]AV © (20.02.12 9:17) [10]
25го надо уже что бы все работало в промышленном варианте
Деймос-грунт?
Хороший программист пишет программу всю жизнь сидя на окладе
Плохой пишет рабочий вариант за неделю и подписывает все акты получая разово на руки 5 тыщ
← →
AV © (2012-02-20 13:09) [12]
> Slym © (20.02.12 12:18) [11]
> Деймос-грунт?
Нет.
Есть такое понятие - надо.
Так вот надо что бы работало 25го. Так подозреваю, что вообще-то 1го, но начальник заложил сроки. Тем не менее, надо что бы работало 25го.
Разумеется, с выкладкой соображений, что это сыро и гарантий нет.
Но 25го работать будет.
> пишет программу всю жизнь
у нас это непозволительная роскошь.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.073 c