dcop exec
wrzesień 27th, 2006 . by vipTak się zastanawiałem jak odpalić jakiś program przy pomocy DCOP. Szybko znalazłem, że odpowiedzialna usługa za uruchamianie to “klauncher”. Niestety nie było pięknie…Wywołanie DCOP
dcop klauncher default exec_blind
odpowiedzialne za wykonanie programu ma następujące konstrukcje:
void exec_blind(QCString,QValueList)
void exec_blind(QCString,QValueList,QValueList,QCString)
O ile w przypadku C++/Qt bardzo prosto można sobie stworzyć obiekt QValueList, to w powłoce nie wygląda to (na pewno) inaczej.
Próbowałem różnych kombinacji (trzeba się sporo naszukać w googlach), a to parametry oddzielałem spacjami, przecinkami, ujmowałem w nawiasy klamrowe i okrągłe (jak mówiły niektóre listy z odstępem pomiędzy delimiterem a argumentem). Niestety, nic nie działało.
Pokusiłem się nawet o przejrzenie źródeł kdelibs. Niestety żaden source code nie zastąpi dokumentacji (której dcop nie ma) i dałem sobie spokój…
Rzutem na taśmie znalazłem list opisujący sposób uruchomienia exec_blind. Ostatecznie musi to wyglądać tak:
dcop klauncher default exec_blind aplikacja a a a a a
Zamiast “a”, może być dowolny inny ciąg. Podobnie wykonuje się kdeinit_exec, ale zamiast pięciu ciągów “a”, są cztery.
I kto mi teraz to wszystko wyjaśni?
Brak powiązanych wpisów


listopad 5th, 2006 at 17:06
A nie łatwiej użyć dcopstart?
listopad 9th, 2006 at 01:37
Zaiste, czasami umykają takie rzeczy…
Swoją drogą program dcopstart używa odwołania do klaunchera.