Компас падает при отключении библиотеки

Автор bbb, 11.05.18, 15:46:24

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

bbb

Когда снимаю галку со своей библиотеки Компас падает. ) В какую сторону смотреть?



Цитата: bbb от 11.05.18, 15:46:24
Когда снимаю галку со своей библиотеки Компас падает. ) В какую сторону смотреть?
В код.
+ Благодарностей: 1

bbb

Цитата: Sabahs от 11.05.18, 15:50:05
В код.
Это понятно. ) Так то все работает если не снимать галочку )

Смотреть отладчиком, финальную часть библиотеки при снятии галки, т.к. Компас библиотеку выгружает из памяти.

bbb

Цитата: Sabahs от 11.05.18, 15:55:41
Смотреть отладчиком, финальную часть библиотеки при снятии галки, т.к. Компас библиотеку выгружает из памяти.
Проблема в том что финальная часть библиотеки отрабатывает нормально, а Компас падает уже при выгрузке и в отладчике можно только в машинных кодах что то увидеть, ошибка в скриншоте, но для меня она малоинформативна )


bbb

Цитата: Sabahs от 11.05.18, 17:19:26
На события подписка есть?
Нет, падать стала после того как начал работать с dataStorage, сохраняю в файл сборки, пару хранилищ.

В любом случае, надо искать, что освобождено и к чему может быть идти обращение, при выгрузке, если есть форма, то закрытие по крестику и по галочке, идут по разному, хотя всё зависит и от инициализации.
PS. Код у Вас, Вам и искать.

bbb

Нашел причину,  копировал массив операцией Move в delphi. После замены такого копирования, перестал падать, странно.

Хорошо, что нашли, но без кода, обсуждать нечего.
PS. Move - сдвиг, но не копирование.

bbb

Цитата: Sabahs от 14.05.18, 10:03:30
Хорошо, что нашли, но без кода, обсуждать нечего.
PS. Move - сдвиг, но не копирование.
А как в delphi скопировать один массив в другой? Сейчас копирую в цикле по элементам.

Массивы, бывают разные.
Без Вашего кода, не о чем разговаривать.

bbb

#12
Цитата: Sabahs от 14.05.18, 10:14:41
Массивы, бывают разные.
Без Вашего кода, не о чем разговаривать.
Два массива array of string, один пустой. Как быстро скопировать один в другой? mass1:=mass2 не работает )

UPD: Так корректно писать? mass1:=OleVariant(mass2); проверил работает...

Стока, это тоже массив символов, причём разной длины, смысл копирования?
Можно использовать класс - TStringList.