Forum Replies Created
-
AuthorPosts
-
NalivaikoParticipant
У вьюва(TsListView) использовалось 4 сабноды, а самих колонок было 3 (4я скрытая)
Вот именно при попытке вписать что-то в 4ю и была ошибка.
Со стандартным вьювом и TsListView из 6й версии это нормально работает. Со вьювом из 7й – нет.
Если добавить колонки по количеству сабнод – все работает
NalivaikoParticipantКод писал в 2009 делфе…Там string = WideString.
Оно не повреждает память, так как продукт работал у многих клиентов
в течении 10 месяцев нормально, а падение началось именно после апдейта до новой версии скинов
(А существует ли 6 версия для Delphi XE? Если ад, то где можно ее скачать?)
Если даже просто сделать кнопку которая добавляет записи в лист вьюв(без потоков и прочих заморочек) –
происходит свал на добавлении. Причем только в том случае,
если у вьюва есть сабайтемы
зы. Утечек в таком преобразовании 100% нет
'Torbins' wrote:А зачем такие дикие преобразования? BSTR ведь в делфи тоже существует, только называется WideString. Причем он использует системный менеджер памяти, поэтому может быть создан и удален где угодно.
А если посмотреть на ваше преобразование подробнее, то похоже именно оно и повреждает память приложения. Вот тут подробнее: http://www.transl-gu…/09/pchars.html
NalivaikoParticipantСинхронайз не используется. По следующей причине
В главное окно из потока (поток создается во внешней DLL) передается сообщение с указателем на строку(BSTR, память под строку выделяется в DLL и очищается там же, после возврата результата сообщения).
В обработчике сообщения формы, указатель приводится к строке String(Pchar(Pointer(Message.LParam))) и
добавляется в ListView. Строка добавляется, а после выхода из обработчика сообщения происходит падение. Но строка во вьюве остается.
К сожалению на данный момент нет возможности прикрепить лог EurekaLog. В ближайшее время приатачу этот лог
NalivaikoParticipantРазобрался. Свойсво margin. Сбило с толку то, что оно в дезигнтайме не работает так ка кнадо
-
AuthorPosts