Delphi - zawieszająca się aplikacja , przeciwdziałanie

Delphi - zawieszająca się aplikacja , przeciwdziałanie
B3
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 14 lat
0

Witam,

Posiadam aplikację wielowątkową w Delphi, odwołującą się do portów COM komputera. Niestety ale od czasu do czasu przy próbie wykonania jakiejś operacji( np. wysłania zmiennej na port) aplikacja totalnie się zawiesza. Nie można wykonać żadnej operacji, użycie procesora w normie, kursorem można ruszać.

Myślę że bardzo ciężko będzie wyszukać w czym tkwi problem ,bo nie ma reguły na ten "zawis". Czy można wykorzystać jakieś mechanizmy delphi , w których można zabezpieczyć operację przed takim zawieszeniem na sztywno? Ostatecznie może być auto restart aplikacji, gdy przestanie odpowiadać.

Dziękuję za podpowiedzi.

JU
  • Rejestracja:około 22 lata
  • Ostatnio:3 miesiące
  • Postów:5042
0

A może spróbuj za pomocą TComPort?
Nie pamiętam, czy ma możliwość zapisu, ale chyba tak.

B3
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 14 lat
0

oj nie...nie mogę, wykorzystuję gotowe biblioteki do obsługi protokołu MODBUS RTU...

JU
  • Rejestracja:około 22 lata
  • Ostatnio:3 miesiące
  • Postów:5042
0
borewicz_311 napisał(a)

oj nie...nie mogę, wykorzystuję gotowe biblioteki do obsługi protokołu MODBUS RTU...

To może problem leży po ich stronie?

B3
  • Rejestracja:ponad 15 lat
  • Ostatnio:ponad 14 lat
0

trudno powiedzieć, ale można zrobić jakieś uniwersalne zabezpieczenie na całą aplikację że gdy:
przestanie odpowiadać na akcje użytkownika = auto restart

JU
  • Rejestracja:około 22 lata
  • Ostatnio:3 miesiące
  • Postów:5042
0

Krótko mówiąc musiałbyś napisać jakąś usługę, która będzie się komunikować z aplikacją po TCP/IP. Co jakiś czas wyśle do niej komunikat, aplikacja ma odpowiedzieć. Jeśli nie odpowie w jakimś czasie, to wtedy usługa zabija proces aplikacji i uruchamia ją ponownie. Tak to może z grubsza wyglądać.

cimak
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 9 lat
  • Postów:1668
0

przyjmujesz ze program zle dziala i tak ma byc i piszesz drugi ktory go restartuje....? czy to aby nie jest troche prymitywne...?
jestes zmuszony do uzycia tych bibliotek? sprobuj uzyc czegos innego. sprobuj wysledzic blad...

MS
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 6 lat
0

Jakich komponentów używasz do komunikacji z portem COM ?
Czy może komponenty do Modbus'a mają wbudowaną komunikację po porcie szeregowym ?

Wklej kawałek kodu, bo tak to jest jak wróżenie z fusów [???]


Stupidity should be painfull

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.