🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #347048

Re: TOpenDialog i zawieszenie IDE

#347048
From: wloochacz
Date: Wed, 10 Jul 2019 10:25
49 lines
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-mail
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>

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