Re: возврат vector<My_Struct> из функции в .dll
От: Кодт Россия  
Дата: 15.12.04 13:16
Оценка:
Здравствуйте, Аноним, Вы писали:

А>если из GetMenu возвращать указатель, все нормально, но встает вопрос как его удалять во второй dll, кучи-то разные?


Если кучи разные, то даже передавать объект по ссылке нельзя: первый модуль его изменяет (пользуясь своей кучей), а второй — утилизирует (пользуясь своей). Бардак-с!

А>делать vector<MENUITEM> глобальным не хочу, GetMenu(vector<MENUITEM>& inputVectorFromDll2..... тоже как-то некошерно

А>может кто знает как это обойтить?

Использовать рантайм Multithreaded DLL.

А>стоит С++.NET (environment 2003 ver 7.1.3088) (статьи KB 168958,172396,309801 читал, экспорт классов меня не интересует)


Ты и так уже пользуешься как-бы-экспортируемым вектором. К счастью, у него все методы инлайнятся и их дублирование не приводит к криминалу.

Как вариант: откажись от вектора, передавай указатели на массивы.
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.