Article View: pl.comp.lang.delphi
Article #347048Re: TOpenDialog i zawieszenie IDE
From: wloochacz
Date: Wed, 10 Jul 2019 10:25
Date: Wed, 10 Jul 2019 10:25
49 lines
3234 bytes
3234 bytes
W dniu 09.07.2019 o 16:11, Jan Drawski pisze: >>> "MULTITHREADED". >> A możesz na ten temat coś więcej napisać, bo to mi trochę coś się >> kojarzy, ale nie mogę sobie przypomnieć istoty sprawy. > > Jak się korzysta z jakiegoś API Windows (nie pamiętam konkretnie przy > czym) to MS zaleca korzystanie z tego. Ustawiam tak: CoInitializeEx(nil, > COINIT_MULTITHREADED); Głównie chodzi o inicjalizowanie COMów. Np. IXMLDocument albo jakieś ADO, albo dowolny inne coś działające jako Component Object Model. > Google pewnie wie więcej na ten temat. Z niektórych komponentów nie > można skorzystać, jest problem z parentami. > >> Jeszcze posprawdzam, liczyłem, że ktoś ma mniejszą sklerozę, niż ja :) > > Tak to jest jak się coś robi za szybko :) > >>> 5. Czy czysty projekt z takim OpenDialogiem dobrze działa? >> W tej chwili działa źle, zrobiłem nowy projekt, tylko z wywołaniem >> OpenDialog i w IDE d... >> Coś się zmieniło w ciągu ostatnich kilku tygodni, bo problemu jeszcze >> niedawno nie było, niestety nie potrafię żadnej zmiany skojarzyć... > > Wiem, że to może brzmieć trochę niedorzecznie ale możesz sprawdzić jak > będzie przy nieaktywnym połączeniu z internetem. Czasami coś może się > starać coś przesłać, odczytać i jak się nie udaje to mogą zdarzać się > takie problemy. W WMI były takie niespodzianki. > Miałem (może) podobny przypadek, ale jednak ciut inny. Problem również dotyczył OpenDialog, ale zachowywało się to tak, że otwarcie OpenDialog powodowało, że proces który go odpalił masowo zżerał pamięć. I to w tempie ok. kilku MiB na sekundę. Tak czy siak normalna aplikacja umierała w kilkanaście minut od otwarcia OpenDialog z braku pamięci. Nie znaleźliśmy rozwiązania i w końcu zdecydowałem, że napiszemy sobie taki wrapper na OpenDialog (jako osobny program/proces), którego jedynym zadaniem jest obsługa OpenDialog. Ciekawe jest to, że takie zachowanie było tylko u jednego klienta, ale na wszystkich jego komputerach. -- wloochacz
Technical Details
Message-ID:
<5d25bd26$0$17346$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<65bcdba9-eabb-45aa-acb8-b6726c89a90f@googlegroups.com> <5d248d3c$0$541$65785112@news.neostrada.pl> <ce364576-2e21-42e7-bfb0-bb9206003e8a@googlegroups.com> <5d24a0b0$0$508$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Subject: Re: TOpenDialog i zawieszenie IDE Newsgroups: pl.comp.lang.delphi References: <65bcdba9-eabb-45aa-acb8-b6726c89a90f@googlegroups.com> <5d248d3c$0$541$65785112@news.neostrada.pl> <ce364576-2e21-42e7-bfb0-bb9206003e8a@googlegroups.com> <5d24a0b0$0$508$65785112@news.neostrada.pl> From: wloochacz <wloochacz@no.spam.gmail.com> Date: Wed, 10 Jul 2019 12:25:41 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: <5d24a0b0$0$508$65785112@news.neostrada.pl> Lines: 49 Message-ID: <5d25bd26$0$17346$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 83.23.83.229 X-Trace: 1562754342 unt-rea-a-01.news.neostrada.pl 17346 83.23.83.229:51364 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit