Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Аналог MFC::CEvent и MFC::CSingleLock есть ли в Qt ?

Автор: niXman 29.7.2008, 1:41

Нужно портировать MFC код под Linux.
В коде:

    CEvent KillTimer;
    CSingleLock* TimerLock;

Чем заменить эти объекты?

Автор: Litkevich Yuriy 29.7.2008, 1:57

Надо знатока MFC.
вместо CEvent может http://crossplatform.ru/documentation/qtdoc4.3/qevent.php подойдет?

а что за класс CSingleLock?
(если для работы с потоками, то смотри "http://crossplatform.ru/documentation/qtdoc4.3/thread.php")

Автор: niXman 29.7.2008, 2:51

Litkevich Yuriy, А я плоховато знаю MFC, а точнее не знаю вообще!!!
Так что, что такое CEvent, CSingleLock я могу только догадываться.
CEvent - Я думаю аналог QEvent. Вот только у QEvent нет метода PulseEvent().
CSingleLock - Я думаю что-то вроди QMutex.

Автор: Tonal 29.7.2008, 9:15

Вот http://athena.vvsu.ru/carina/RealTime/Realtime_5.html описывается что это такое.
Поточные классы MFC отличаются от Qt-ёвых, т.к. они всего лишь небольшая надстройка над WinApi.
Так что механически перенести не получится, то всегда можно построить что-нибудь подобное.
Например CEvent эмулируется QWaitCondition видимо.

Автор: niXman 29.7.2008, 9:41

Цитата(Tonal @ 29.7.2008, 10:15) *
Так что механически перенести не получится

А это как - Механически?

Автор: Tonal 29.7.2008, 10:25

Механически - значит не меняя алгоритмы а просто заменяя имена классов/методов/членов. :)

Автор: niXman 29.7.2008, 10:53

Tonal - Я и не надеялся. Хотя...хорошо бы...

Автор: void* 29.7.2008, 18:52

niXman, судя по тому что я понял из мсдн, оба этих класса для работы с потоками
было бы неплохо если бы ты привел фрагмент кода на MFC, может расшифровали бы и перевели на Qt :)

Автор: AD 29.7.2008, 19:12

Не уверен, что это штука может помочь, но все-таки стоит посмотреть:
http://trolltech.com/products/qt/addons/catalog/4/Windows/qtwinmigrate/

Вдруг есть аккуратный и безобидный способ.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)