Какой артист погибает!
Нерон
Для тех, кому мало биндингов Ruby для Qt, существуют биндинги для KDE в виде библиотеки Korundum. Вот только в этом мануале не написано, что нужно зарегистрировать клиента DCOP:
1 @dcopclient = KDE::DCOPClient.new
2 @dcopclient.attach
3 @dcopclient.registerAs("my_app_name",false)
4
5 @dcop = KDE::DCOPRef.new("other_app_name","object_identity")
6 @dcop.setDCOPClient(@dcopclient)
2 @dcopclient.attach
3 @dcopclient.registerAs("my_app_name",false)
4
5 @dcop = KDE::DCOPRef.new("other_app_name","object_identity")
6 @dcop.setDCOPClient(@dcopclient)
И точно помню, что я с этим не сталкивался в пору кодирования под КДЕ на C++ ... Как-то это для меня неожиданностью стало. В те милые сердцу времена я так и писал:
1 DCOPRef m_amarokplayer("amarok","player");
2 DCOPReply r=m_amarokplayer.call("status()");
2 DCOPReply r=m_amarokplayer.call("status()");
Сейчас же без инициализации клиента получаю
DCOPRef::call(): no DCOP client or client not attached error
Но это ещё преодолимо. Есть ещё одно большое и неприятное НО - через DCOP интерфейс в руби передаются урезанные до 7 бит строки. Довольно просто это проверить с помощью Klipper:
1 @dcop = KDE::DCOPRef.new("klipper","klipper")
2 @dcop.call("setClipboardContents","строка")
2 @dcop.call("setClipboardContents","строка")
Обидно.
2 комментария:
Привет!
А можно несколько глупых вопросов по DCOP/Dbus?
По DCOP можно, dbus я не трогал за отсутствием нужды в этом.
Отправить комментарий