blog vipa
mój dzień to 3 filiżanki kawy

blog vipa

dcop exec

Wrzesień 27th, 2006 . by vip

Tak 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?

2 komentarze to “dcop exec”

  1. Reqamst Says:

    A nie łatwiej użyć dcopstart?

  2. vip Says:

    Zaiste, czasami umykają takie rzeczy…
    Swoją drogą program dcopstart używa odwołania do klaunchera.

Leave a Reply