Название: вопрос по qRegisterMetaType Отправлено: Kurles от Июль 11, 2014, 14:18 Доброго времени суток!
Возник вопрос касаемый функции qRegisterMetaType. Пишу библиотечку, которая использует QTcpSocket, у которого есть сигнал void QAbstractSocket::error ( QAbstractSocket::SocketError socketError ), для использования которого надо регистрировать энумерацию QAbstractSocket::SocketError с помощью Q_DECLARE_METATYPE и qRegisterMetaType. Собственно вопрос, на сколько безопасно вызывать функцию qRegisterMetaType несколько раз с одними и теми же параметрами? Ладно, я в своей библиотеке смогу сделать вызов это функции только один раз, но никто же не гарантирует, что в других библиотеках эта же функция не будет вызвана с этими же параметрами. Название: Re: вопрос по qRegisterMetaType Отправлено: Swa от Июль 11, 2014, 14:36 В документации не написано, что нельзя вызывать этот метод два раза с одним аргументом.
Но вы можете попробовать это сделать в тестовой программе, просто чтобы проверить. Название: Re: вопрос по qRegisterMetaType Отправлено: Bepec от Июль 11, 2014, 15:00 Ну насколько я помню там создаётся соответствие типа его строковому представлению. Думаю там эта ситуация уже решается.
Название: Re: вопрос по qRegisterMetaType Отправлено: Kurles от Июль 11, 2014, 15:02 В документации не написано, что нельзя вызывать этот метод два раза с одним аргументом. В тестовой программе всё хорошо, но вдруг какие то подводные камни есть? Та же самая тестовая программа при вызове qRegisterMetaType несколько раз с одинаковыми параметрами на выходе один и тот же id возвращает, так что думаю что всё ок должно быть, но мало ли :)Но вы можете попробовать это сделать в тестовой программе, просто чтобы проверить. Название: Re: вопрос по qRegisterMetaType Отправлено: Igors от Июль 11, 2014, 15:40 Почему бы не заюзать QMetaType::isRegistered?
Название: Re: вопрос по qRegisterMetaType Отправлено: Kurles от Июль 14, 2014, 10:31 Почему бы не заюзать QMetaType::isRegistered? Спасибо! |