Название: Связь между модулями Отправлено: Raumnur от Июль 21, 2016, 11:38 Всем привет. Есть модуль MainWindow.cpp и подключаю стороний хедер ideal.h с cpp-шником ideal.cpp.
В подключенном хедере(ideal.h) объявлен вектор в private. SPoint кстати говоря структура. Код: std::vector<SPoint> recv[3][COUNT_UMP]; Вопрос: как мне наладить связь между модулями, чтобы допустим по клику баттона передавать данные из данного вектора на MainWindow? Название: Re: Связь между модулями Отправлено: Kurles от Июль 21, 2016, 12:22 В ideal.h должны быть публичные геттеры для этого вектора, вот их и используй.
Название: Re: Связь между модулями Отправлено: Raumnur от Июль 21, 2016, 14:10 В ideal.h должны быть публичные геттеры для этого вектора, вот их и используй. в паблике вот такая вот схема. Откуда можно вытащить, я ума не приложу. Вроде ни один из методов ничего не возвращает...или я чего-то недогоняю Код: class Ideal Название: Re: Связь между модулями Отправлено: Racheengel от Июль 21, 2016, 14:32 Что это вообще за API? от какого девайса?
Название: Re: Связь между модулями Отправлено: Bepec от Июль 21, 2016, 14:39 Ну для этого вам как минимум придётся редактирвоать cpp-шник и ашник вашего ideal. Либо писать свои геттеры сеттеры, либо выносить вектор в паблик. Если же данный класс будет использован в библиотеке, вы уже ничего отредактировать не сможете и ... ну и всё :D
Название: Re: Связь между модулями Отправлено: Raumnur от Июль 21, 2016, 16:35 Тогда такой вопрос, возможно ли написать геттер который вернет массив?
Название: Re: Связь между модулями Отправлено: Kurles от Июль 21, 2016, 16:59 Тогда такой вопрос, возможно ли написать геттер который вернет массив? Многомерные массивы проблематично возвращать. Проще геттер для элемента массива написать. И даже наверное так лучше будет.Название: Re: Связь между модулями Отправлено: Raumnur от Июль 21, 2016, 17:05 Многомерные массивы проблематично возвращать. Проще геттер для элемента массива написать. И даже наверное так лучше будет. Мне по сути нужно будет вернуть одномерный массив. Но тут еще другая проблема. Написал геттер, дальше в обработчике по клику мыши присваиваю переменной и программа вылетает... Код: double Ideal::GetAdb(unsigned int Canel, unsigned int Num, unsigned int Point) Выносил в паблик массив, все работает, с геттером-не хочет Название: Re: Связь между модулями Отправлено: gil9red от Июль 22, 2016, 08:28 Многомерные массивы проблематично возвращать. Проще геттер для элемента массива написать. И даже наверное так лучше будет. Мне по сути нужно будет вернуть одномерный массив. Но тут еще другая проблема. Написал геттер, дальше в обработчике по клику мыши присваиваю переменной и программа вылетает... Код: double Ideal::GetAdb(unsigned int Canel, unsigned int Num, unsigned int Point) Выносил в паблик массив, все работает, с геттером-не хочет Наверное падает из-за выхода за пределы массива или указатель, возвращаемый recv[Canel][Num][Point] оказался пустой Название: Re: Связь между модулями Отправлено: Igors от Июль 22, 2016, 09:10 ..и программа вылетает... Тема навевает грусть и меланхолию. Такие вещи не на форуме надо спрашивать, а отлаживать, смотреть валидны ли все 3 индекса в отладчике и/или печатать их в консоли. .. ...с геттером-не хочет Название: Re: Связь между модулями Отправлено: Bepec от Июль 22, 2016, 10:11 А ещё лучше приводить код :D
|